【问题标题】:Copy every 1000th row to a new sheet将每 1000 行复制到一个新工作表
【发布时间】:2017-04-28 13:46:42
【问题描述】:
  • 我有一个 167 张工作簿
  • 每张工作表有 1000 行。
  • 我需要一个新工作表,其中包含每张工作表中所有最后一行的列表。

所以我最终会得到一个包含 167 行的工作表,其中每个工作表的第 1000 行复制到新工作表。

【问题讨论】:

  • 您的代码和/或公式的哪一部分不起作用?如果您向我们展示您的尝试,也许我们可以帮助您解决它。

标签: excel excel-formula vba


【解决方案1】:

有一个出色的免费插件 ASAP Utilities 提供此功能以及许多其他选项。

你需要的工具是Sheets » Put together rows or columns from several sheets..

【讨论】:

    【解决方案2】:

    您可以使用“间接”。您需要将工作表名称放入第一列,并将列标识符(“A”、“B”、“C”等)放入第一行,如

    然后你可以从B2开始使用以下内容,并向下和交叉复制:

    =INDIRECT("'"&$A2&"'!"&B$1&"1000")
    

    这告诉 Excel 公式的文本结果实际上是对特定单元格的引用,使用公式中单元格的内容($A2 和 B$1)作为该文本字符串的一部分。

    【讨论】:

    • 手动输入工作表名称和 167 个工作表的列标识符是非常荒谬的。 VBA 解决方案更加实用。
    • 同意,除非您可以快速填充工作表名称等,否则我当然不会使用这种方法...通常如果数据属于摘要表,则工作表名称的模式适合快速填充- 例如:1 月、2 月、3 月……或第 1 周、第 2 周、第 3 周等。
    【解决方案3】:

    您可以将此代码用于 VBA,我已对代码进行了注释,以便您查看每一行的作用。

    Sub CopyRows()
    
    Dim rowCounter As Long
    Dim lastShtName As String
    
    ' ** COUNTER FOR EACH ROW, INCREMENT EACH TIME A ROW IS COPIED
    rowCounter = 1
    
    ' ************************************************
    ' **** SET SHEET NAME VARIABLE FOR LAST SHEET ****
    
               lastShtName = "LastSheet"
    
    ' ************************************************
    ' ************************************************
    
    ' ** LOOP THROUGH SHEETS
    For Each sht In ThisWorkbook.Sheets
    
        ' ** LOOP THROUGH ALL SHEETS EXCEPT FOR LAST SHEET, WHICH DATA IS PASTED ON. UPDATE SHEET NAME TO MATCH
        If sht.Name <> lastShtName Then
    
            ' ** COPY WHOLE ROW
            ThisWorkbook.Sheets(lastShtName).Range("A" & rowCounter).EntireRow.Value = sht.Range("A" & 1000).EntireRow.Value
    
            ' ** INCREMENT COUNTER
            rowCounter = rowCounter + 1
    
        End If
    
    ' ** CONTINUE LOOP
    Next sht
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2022-11-04
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多