Board logo

標題: [發問] 把指定資料複製到不同的分頁的最後一列下面 [打印本頁]

作者: pupai    時間: 2014-5-13 17:24     標題: 把指定資料複製到不同的分頁的最後一列下面

您好
我想把sheet1 指定的欄位值複製到Sheet2最後一列下面
而且每次複製都可以指定到Sheet2最後一列的資料的下面
但複製的語法我搞不訂
請問該如何處理
謝謝!!

以下程式,請幫我指點一下
Sub 巨集1()
Range("A1").Select
Selection.End(xlDown).Select
Sheet2.Range("A" & ActiveCell.Row + 1).Value = “”  
End Sub
作者: yen956    時間: 2014-5-13 19:09

本帖最後由 yen956 於 2014-5-13 19:10 編輯

回復 1# pupai
是每次均將Sheet1 欄A 的資料, 全部備份到 Sheet2?
如果是, 試試這個
  1. Sub Command()
  2.     Dim sh1, sh2 As Worksheet
  3.     Dim lastRow1, lastRow2 As Integer
  4.    
  5.     Set sh1 = Sheets("Sheet1")
  6.     Set sh2 = Sheets("Sheet2")
  7.     lastRow1 = sh1.[A2].End(xlDown).Row
  8.     lastRow2 = sh2.[A65536].End(xlUp).Row
  9.    
  10.     '假定要複製的資料, 每次均從 sh1.[A2]開始
  11.     '將Sheet1 欄A 的資料, 全部備份到 Sheet2欄A最下面
  12.     sh1.[A2].Resize(lastRow1 - 1, 1).Copy sh2.[A2].Offset(lastRow2 - 1, 0)
  13. End Sub
複製代碼

作者: pupai    時間: 2014-5-14 09:08

回復 2# yen956


   謝謝您的回覆

不過我只會用簡單錄製巨集的方式
請問下面的巨集要如何修改,我才可以在不同分頁貼上數值

Sub 巨集1()
Sheets("工作表1").Select
Range("A2:B2").Select
Selection.Copy

Sheets("工作表2").Select
Range("A1").Select
Selection.End(xlDown).Select
Sheet2.Range("A" & ActiveCell.Row + 1).Value =

‘Selection.Insert Shift:=xlDown
;Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
‘:=False, Transpose:=False


End Sub
作者: pupai    時間: 2014-5-14 11:13

回復 3# pupai


    請問
這一段巨集為什麼在2007的版本可以跑得動
2010就不可以呢
  1. Sub Macro1()

  2. Sheets("結果").Select
  3. Range("A2:B2").Select
  4. Selection.Copy
  5. Sheets("清單").Select
  6. '每次複製都可以指定到Sheet2最後一列的資料的下面
  7. Range("A1").Select
  8. Selection.End(xlDown).Select
  9. Sheet3.Range("A" & ActiveCell.Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  10. :=False, Transpose:=False
  11. End Sub
複製代碼

作者: owen06    時間: 2014-5-14 11:19

本帖最後由 owen06 於 2014-5-14 11:24 編輯

回復 3# pupai
你試試這樣如何
  1. Sub 巨集1()
  2. Sheets("工作表1").Select
  3. Sheets("工作表1").Range("A2:B" & Sheets("工作表1").[a65536].End(3).Row).Copy
  4. Sheets("工作表2").Select
  5. Sheets("工作表2").[a65536].End(3).Offset(1, 0).PasteSpecial xlPasteValues
  6. End Sub
複製代碼

作者: pupai    時間: 2014-5-14 11:28

回復  pupai
你試試這樣如何
owen06 發表於 2014-5-14 11:19



   
那如果我只要複製工作表1的Range("A2:B2")的資料
請問要如何修改呢
謝謝
作者: owen06    時間: 2014-5-14 11:43

本帖最後由 owen06 於 2014-5-14 11:55 編輯

改範圍就好了
  1. Sub 巨集1()
  2. Sheets("工作表1").Select
  3. Sheets("工作表1").Range("A2:B2").Copy
  4. Sheets("工作表2").Select
  5. Sheets("工作表2").[a65536].End(3).Offset(1, 0).PasteSpecial xlPasteValues
  6. End Sub
複製代碼
回復 6# pupai

如果你每次要複製的資料都固定只有A2:B2,那更簡單
  1. Sub 巨集1()
  2. Sheets("工作表2").[A65536].End(3).Range("A2:B2") = Sheets("工作表1").Range("a2:b2").Value
  3. End Sub
複製代碼

作者: pupai    時間: 2014-5-14 13:56

回復 7# owen06


    了解
謝謝
作者: peter95    時間: 2016-3-4 02:34

感謝 owen06大大提供好方法
可不可以把"工作表2"從  B2  B3開始貼
因為小弟的A欄是日期

再次感謝幫忙
~~~~~~~~~~~~~
Sub 巨集1()
Sheets("工作表1").Select
Sheets("工作表1").Range("A2:B2").Copy
Sheets("工作表2").Select
Sheets("工作表2").[a65536].End(3).Offset(1, 0).PasteSpecial xlPasteValues
End Sub
~~~~~~~~~~~~~~~~~
作者: lpk187    時間: 2016-3-4 09:32

回復 9# peter95


    Sheets("工作表2").[B65536].End(3).Offset(1, 0).PasteSpecial xlPasteValues




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)