我试图将来自AG1列的数据附加到一个新工作表中的多个工作表上。
(例如:工作表1到A列,工作表2到B列,等等。)
Sub Macro1()
'
' Macro1 Macro
'
'
Sheet1.Activate
Range("AG2:AG5000").Select
Selection.Copy
Sheets("Try").Select
Range("A1").Select
ActiveSheet.Paste
Sheets2.Activate
Range("AG2:AG5000").Select
Selection.Copy
Sheets("Try").Select
Range("B1").Select
ActiveSheet.Paste
End Sub
到目前为止,我只能使用“记录宏”中的宏。
问题是:
(1)张数总是不同的,
(2)每张纸的名称总是不同的。
答案 0 :(得分:0)
尝试以下代码。
Sub CopyFromMultiple()
Dim sh As Worksheet
Dim pColumn As Long
pColumn = 1
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Try" Then
sh.Range("AG2:AG5000").Copy Sheets("Try").Cells(1, pColumn)
pColumn = pColumn + 1
End If
Next
End Sub
答案 1 :(得分:0)
请尝试以下方法:
Sub testCollectingColData()
Dim sh As Worksheet, shTr As Worksheet, arr As Variant, colNo As Long
Set shTr = Worksheets("Try")
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> shTr.Name Then
colNo = colNo + 1
arr = sh.Range("AG2:AG5000").Value
shTr.Range(shTr.cells(1, colNo), shTr.cells(5000 - 1, colNo)).Value = arr
End If
Next
End Sub