aI有一个包含关于150+工作表的Excel2007工作簿,我想从所有工作表中的相同单元格中选择数据,然后将数据(全部为文本)从包含数据的单元格复制到单独的工作表中,其中的数据列在一个列中。
发布于 2009-08-23 02:04:05
您可以使用以下VBA:
Dim WriteCell as Range
Set WriteCell = Sheets("New Sheet").Range("A2")
Dim MySheet as Worksheet
For Each MySheet In ThisWorkbook.Worksheets
If MySheet.Range("B2").Value <> "" Then
WriteCell.Value = MySheet.Range("B2").Value
WriteCell.Offset(0, -1).Value = MySheet.Name
Set WriteCell = WriteCell.Offset(1,0)
End If
Next如果它是该工作簿中的同一个工作表。如果您希望它是某个其他工作簿,请将For Each行替换为:
Workbooks.Open File:= "C:\MyBook.xlsx"
For Each MySheet in ActiveWorkbook.Worksheets这将遍历所有工作表,测试该值,并生成一个以工作表名称和单元格值作为列的工作表。
https://stackoverflow.com/questions/1317536
复制相似问题