![](/img/trans.png)
[英]Appending multiple sheets from multiple files to the same sheet names in the excel files
[英]A List From Same Cells Across Multiple Sheets In Excel with sheet names
鄉親 我有一本包含200多個工作表的工作簿。我試圖在Excel中創建一個名為“ SUMMARY”的摘要工作表,其中在一個列中列出所有工作表的名稱,在另一列中列出單元格J2的內容(在每個工作表中)柱。 我發現下面的代碼返回一個包含每個工作表的J2單元格內容的列,但不返回具有工作表名稱的列,因此我無法使用它。 您能否提供一些技巧以實現代碼以返回兩列?
Sub MakeSummaryTableOfACellAcrossSheets()
Dim ws As Worksheet
Application.ScreenUpdating = False
Sheets("SUMMARY").Activate
For Each ws In Worksheets
If ws.Name <> "ITEMS FAMILY" Then
ws.Range("J2").Copy
ActiveSheet.Paste Range("A65536").End(xlUp).Offset(1, 0)
End If
Next ws
Application.ScreenUpdating = True
End Sub
這會將工作表名稱放在“概要”的A列中,將J2放在B列中。
我假設您還想從循環中排除“摘要”。
直接傳輸值比復制和粘貼要快得多。
使用Rows.Count
而不是對65336進行硬編碼,因為Excel現在有超過一百萬的行。
Sub MakeSummaryTableOfACellAcrossSheets()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "ITEMS FAMILY" And ws.Name <> "SUMMARY" Then
Sheets("SUMMARY").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = ws.Name
Sheets("SUMMARY").Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Value = ws.Range("J2").Value
End If
Next ws
Application.ScreenUpdating = True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.