【问题标题】: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
    

    问候,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 2020-07-14
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多