复制变量范围并粘贴到多个选项卡

问题描述 投票:0回答:1

我有一个包含51个工作表的工作簿。工作表3(“结果”)包含我需要解析的所有数据。我想遍历工作表3并一次复制3列,从CT-CV列开始。然后将CT-CV粘贴到工作表4的“ B1”中。然后,宏将循环回到工作表3,并复制CW-CZ并粘贴到工作表5的“ B1”中。此循环将继续进行,直到所有51个工作表都有数据为止(转到工作表3中的IG列。

我发现许多宏的工作方式相反(从许多工作表复制到一个合并的工作表),但没有一个从合并的数据进行解析。

非常感谢!

excel vba loops worksheet copying
1个回答
0
投票

一种执行此方法的方法是创建一个包含所有目标工作表名称的数组,然后循环该数组,以从中选择正确的3个匹配列组(即从第98、101、104列开始)。源工作表。像这样的东西似乎起作用:

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

问候,

© www.soinside.com 2019 - 2024. All rights reserved.