VBA循环:将范围从多个工作表复制到多个集合位置
我最初使用下面的代码将15个工作表中的数据编译成一个“模板”表。它很好地做到了这一点——但是,工作簿的需求有所改变 我现在需要将数据排列到设置的位置,每个循环偏移25,而不是将数据复制到相对位置(“模板”列a中的第一个空单元格) 例: 我一直在尝试排除故障,但在循环方面我仍然很弱。有人能帮我吗VBA循环:将范围从多个工作表复制到多个集合位置,vba,loops,Vba,Loops,我最初使用下面的代码将15个工作表中的数据编译成一个“模板”表。它很好地做到了这一点——但是,工作簿的需求有所改变 我现在需要将数据排列到设置的位置,每个循环偏移25,而不是将数据复制到相对位置(“模板”列a中的第一个空单元格) 例: 我一直在尝试排除故障,但在循环方面我仍然很弱。有人能帮我吗 子测试() 将工作作为工作表 用于此工作簿中的每个工作。工作表 如果不是wks.Name=“template”,则 wks.Range(“B6:B30”)。副本 活动表。粘贴 目标:=工作表(“模板”)。
子测试()
将工作作为工作表
用于此工作簿中的每个工作。工作表
如果不是wks.Name=“template”,则
wks.Range(“B6:B30”)。副本
活动表。粘贴
目标:=工作表(“模板”)。单元格(Rows.Count,“A”)。结束(xlUp)。偏移量(1)
如果结束
下一个
端接头
试试这个。假设复制的数据从不超过24行
Sub test()
Dim wks As Worksheet, r As Range
Set r = Worksheets("template").Range("A3") 'initial paste range
For Each wks In ThisWorkbook.Worksheets
If Not wks.Name = "template" Then
wks.Range("B6:B30").Copy r
Set r = r.Offset(25) 'move down 25
End If
Next
End Sub
Sub test()
Dim wks As Worksheet, r As Range
Set r = Worksheets("template").Range("A3") 'initial paste range
For Each wks In ThisWorkbook.Worksheets
If Not wks.Name = "template" Then
wks.Range("B6:B30").Copy r
Set r = r.Offset(25) 'move down 25
End If
Next
End Sub