【问题标题】:Copying variable ranges and pasting to Multiple Tabs复制变量范围并粘贴到多个选项卡
【发布时间】:2020-08-07 06:57:42
【问题描述】:
我有一个包含 51 个工作表的工作簿。工作表 3(“结果”)包含我需要解析的所有数据。我想遍历工作表 3 并一次复制 3 列,从 CT-CV 列开始。然后将 CT-CV 粘贴到工作表 4 的“B1”中。然后宏将循环回到工作表 3 并复制 CW-CZ 并粘贴到工作表 5 的“B1”中。此循环将继续,直到所有 51 个工作表都有数据(转到工作表 3) 中的 IG 列。
我发现很多宏都以相反的方式进行(从许多工作表复制到一个合并的工作表中),但没有一个来自合并数据并对其进行解析。
非常感谢!
【问题讨论】:
标签:
excel
vba
loops
worksheet
copying
【解决方案1】:
这样做的一种方法是创建一个包含所有目标工作表名称的数组,然后循环该数组,从源工作表。像这样的东西似乎有效:
Sub sCopyData()
Dim aDest() As Variant
Dim lngLoop As Long
Dim strLeft As String
Dim strRight As String
aDest = Array("Data1", "Data2")
For lngLoop = 0 To UBound(aDest)
Sheets("Results").Select
strLeft = Split(Cells(, 98 + (lngLoop * 3)).Address, "$")(1)
strRight = Split(Cells(, 100 + (lngLoop * 3)).Address, "$")(1)
Columns(strLeft & ":" & strRight).Select
Selection.Copy
Sheets(aDest(lngLoop)).Select
Columns("B:B").Select
ActiveSheet.Paste
Next lngLoop
End Sub
问候,