返回列表 上一主題 發帖

寫一個另存新檔的巨集,但是需要.pdf file,那麼應怎改寫?

回復 30# Blade
是這樣嗎?
  1. Option Explicit
  2. Sub Ex()
  3.     Selection.Resize(, 3).Copy Sheets("invoice").Range("L7")
  4.    
  5.     'Selection.Resize(, 3).Copy    :範圍的複製
  6.     'Sheets("invoice").Range("L7") :貼上的位置
  7.     '
  8.     Sheets("invoice").Activate
  9.     Sheets("invoice").Range("K7").Select
  10.    
  11. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復  Blade
是這樣嗎?
GBKEE 發表於 2014-1-17 06:52


感謝版大的指教。
我想問問,(, 3)是甚麼意思?
範圍是A&B的選定,如果是A-F,那麼是否修改成(, 5....6),如此類推?

TOP

Sheets("invoice").Range("L7")
另外想請教,以上的指令,是貼上 L7的,怎樣可設定無指向的指令?

TOP

回復 33# Blade
Selection.Resize(列數, 欄數).Copy Sheets("invoice").Range("L7")
省略 列數 =同Selection的列數
省略 欄數 =同Selection的欄數

你說:怎樣可設定無指向的指令
什麼是無指向說明一下
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復  Blade
Selection.Resize(列數, 欄數).Copy Sheets("invoice").Range("L7")
省略 列數 =同Selectio ...
GBKEE 發表於 2014-1-17 19:37


感謝!
Selection.Resize 我完全明白了。:)
我見省略了是這様 Selection.Resize(, 3)
如果,我列和欄都省略,Selection.Resize(,)是否這様?

TOP

本帖最後由 Blade 於 2014-1-18 01:50 編輯

先看看圖片。
我現在懂得用Selection.Resize。
我同様地在course那頁,都做了按鍵給每一個課程。
現我我懂了Selection.Resize,我會用相同指令去處理course那頁,但是copy到invoice,那裡我有5行資料。
如果我 Copy Sheets("invoice").Range("B13"),那麼每次我選course,都只能copy到 B13,另外那4行我應怎編寫指令呢?
Copy Sheets("invoice").Range("B13") 我應用甚麼指令呢?

螢幕快照 2014-01-18 上午01.30.32.png (33.04 KB)

螢幕快照 2014-01-18 上午01.30.32.png

螢幕快照 2014-01-18 上午01.31.13.png (83.86 KB)

螢幕快照 2014-01-18 上午01.31.13.png

螢幕快照 2014-01-18 上午01.31.48.png (25.44 KB)

螢幕快照 2014-01-18 上午01.31.48.png

螢幕快照 2014-01-18 上午01.32.07.png (29.76 KB)

螢幕快照 2014-01-18 上午01.32.07.png

螢幕快照 2014-01-18 上午01.32.23.png (34.76 KB)

螢幕快照 2014-01-18 上午01.32.23.png

TOP

Selection.Resize(, 13).Copy Sheets("invoice").Selection.Resize(, 13)
Selection.Resize(, 13).Copy Sheets("invoice").Selection.Resize(, 1).Paste
Selection.Resize(, 13).Copy Sheets("invoice").Range("B13").Select

TOP

回復 35# Blade

我見省略了是這様 Selection.Resize(, 3)
如果,我列和欄都省略,Selection.Resize(,)是否這様?

那就不需用Resize,直接用Selection
36#的內容看不懂為何不直接上傳excel檔說明
37# Selection.Resize(, 13).Copy Sheets("invoice").Selection.Resize(, 13)
2003會錯誤,要改成明確的位置如 [A5] , 另後面.Paste .Select 也會有錯誤,
你的版本可用嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

我的是2010

vba3.jpg (59.36 KB)

vba3.jpg

TOP

本帖最後由 Blade 於 2014-1-21 19:16 編輯

當我選了,保護工作表,以下程式便會出錯誤。
  1. Sub InvoiceNo()
  2.     Dim xRNo As Range, i As Integer, y As Integer, R As Integer, RR As Integer
  3.     Set xRNo = Range("Q2")
  4.     'Set xRNo = Range("D5")
  5.     y = Len(xRNo)                                      '[發票編號]的字串個數
  6.     For i = 1 To y
  7.         If R = 0 And Mid(xRNo, i, 1) Like "[0-9]" Then R = i    '找[發票編號]中第一個數字
  8.         If Mid(xRNo, i, 1) Like "[!0-9]" Then RR = i            '找[發票編號]中最後的文字
  9.     Next
  10.     If RR > R Or R = 0 Or xRNo = 0 Then  '數字在文字之前(或只有文字),只有數字
  11.         MsgBox "【注意】收據編號出錯 !!!"
  12.    Else
  13.         xRNo = Mid(xRNo, 1, R - 1) & Format(Mid(xRNo, R) + 1, String((y - R + 1), "0"))
  14.     End If
  15.    
  16.     Range("Q2").Select
  17.   'Range("D5").Select
  18.     Selection.Copy
  19.     Range("D6").Select
  20.     ActiveSheet.Paste
  21.     Application.CutCopyMode = False
  22.     With Selection.Font
  23.         .ColorIndex = xlAutomatic
  24.         .TintAndShade = 0
  25.     End With
  26.     Range("A4").Select
  27.      '如  y - R + 1 = 5
  28.      '如 :Format(568, String((y - R + 1), "0")) => Format(568, "00000") => 5位數:  00568
  29. End Sub
複製代碼
出錯誤的句子
  1.         xRNo = Mid(xRNo, 1, R - 1) & Format(Mid(xRNo, R) + 1, String((y - R + 1), "0"))
複製代碼

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題