返回列表 上一主題 發帖

[發問] 將資料自動複製到,目前點選的所在頁面並自動選擇最後一行空白處貼上

是有這個疑慮,但是理論上第一排應該都要有資料,例如ID編碼等唯一性的資料,而我不寫那種方式是曾經遇過非第一排位置的儲存格被"不小心"按到一空白資料,但是這在檢查過程是很難發現的異常,但卻造成資料到那一列就跳行,害我ㄧ直檢查程式是哪邊寫錯,最後當然才知道真正原因,而限制第一欄計算筆數,就可以立即看到問題

TOP

回復  starry1314

因為檔案名稱以及分頁名稱都需要被指出
因此我假設檔案名稱A以及分頁名稱A1都是被拷 ...
PKKO 發表於 2015-4-16 12:04


是說我原本的巨集指令完全替換成像你這樣的範例嗎??
Sub test()
    Workbooks("紀錄表-基礎.xls").Sheets("客戶明細").Rows(2).Copy
    EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Rows(EndRow).PasteSpecial Paste:=xlPasteValues
End Sub

像這樣嗎? 另ROW(2)的意思是第二個檔案? 另workbooks的意思是?

我原本的巨集指令是只能達成固定檔名的自動複製貼上,但檔名只要不一樣就失敗了~所以想寫成
A複製到E
B複製到E1
C複製到E2
巨集儲在E

不管被烤或拷貝後都可以不均檔名,

TOP

回復 4# tyrone123456


    Workbooks("2.xls").Sheets("B1").UsedRange.Rows(1).Count + 1=>只會計算第一列使用的列數,因此永遠都是1+1=2
列數可能會有問題
PKKO

TOP

印象中的寫法
Workbooks("1.xls").Sheets("A1").Rows(2).Copy  Workbooks("1.xls").Sheets("A1").cells(Workbooks("2.xls").Sheets("B1").UsedRange.Rows(1).Count + 1,1)

但此法會連同複製儲存格的格式,但上面大大的寫法則只會複製數值〈.PasteSpecial Paste:=xlPasteValues〉

TOP

回復 1# starry1314

因為檔案名稱以及分頁名稱都需要被指出
因此我假設檔案名稱A以及分頁名稱A1都是被拷貝的檔案

假設您的按鈕在檔案二的分頁上

可以直接使用

Sub test()
    Workbooks("A").Sheets("A1").Rows(2).Copy
    EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Rows(EndRow).PasteSpecial Paste:=xlPasteValues
End Sub
PKKO

TOP

Sub 自動複製客戶明細()
'
' 自動複製客戶明細 巨集
'
' 快速鍵: Ctrl+A
'
    Windows("紀錄表-基礎.xls").Activate
    Range("A2:M2").Select
    Selection.Copy
    Windows("客戶明細-業務專用.xlsm").Activate
    ActiveSheet.Paste link:=True
End Sub

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題