Excel中多张工作表中相同单元格的列表,带有工作表名称
伙计们。我有一本多页的工作簿,超过200页。我试图在excel中创建一个名为“summary”的汇总表,其中列出一列中所有工作表的名称以及另一列中每个工作表中单元格J2的内容。 我发现下面的代码返回一列,其中包含每个工作表的J2单元格的内容,但不包含包含工作表名称的列,因此我无法使用该代码。您能否给出一些技巧,如何实现代码以返回这两个列Excel中多张工作表中相同单元格的列表,带有工作表名称,excel,vba,Excel,Vba,伙计们。我有一本多页的工作簿,超过200页。我试图在excel中创建一个名为“summary”的汇总表,其中列出一列中所有工作表的名称以及另一列中每个工作表中单元格J2的内容。 我发现下面的代码返回一列,其中包含每个工作表的J2单元格的内容,但不包含包含工作表名称的列,因此我无法使用该代码。您能否给出一些技巧,如何实现代码以返回这两个列 Sub MakeSummaryTableOfACellAcrossSheets() Dim ws As Worksheet Applicati
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
它解决了我的问题;