所以我最终得到一张包含167行的工作表,每张工作表的第1000行都复制到新工作表中。
答案 0 :(得分:1)
有一个优秀的免费插件ASAP Utilities,可以在许多其他选项中提供此功能。
您需要的实用程序是Sheets » Put together rows or columns from several sheets..
答案 1 :(得分:0)
您可以使用'INDIRECT'。您需要将工作表名称放在第一列,第一行中的列标识符('A','B','C'等)如
然后您可以从B2开始使用以下内容,然后向下复制:
=INDIRECT("'"&$A2&"'!"&B$1&"1000")
这告诉Excel公式的文本结果实际上是对特定单元格的引用,使用公式($ A2和B $ 1)中单元格的内容作为该文本字符串的一部分。
答案 2 :(得分:0)
您可以将此代码用于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