我有100个标签,这些标签是不同设施的财务(所有财务标签都相同),它们列出了A栏下的收入,费用等。我想写一个宏或某些东西可以拿出每个标签并放置该信息横向进入摘要选项卡,以便我的选项卡名称将在A列下方,收入费用等在第1行的顶部。我可以编写一个简单的宏,一次执行1张但我不能似乎让它循环,所以它将继续完成书中的其余工作表。有谁知道这个代码吗?
谢谢!
杰夫
答案 0 :(得分:0)
您需要对此概念进行一些修改:如果您可以提供OP评论中要求的信息,则可能更准确。此示例假设您在每个页面上的摘要信息都是第2行。如果它没有查找说明"假设您的数据是第2行"并将行从2更改为实际行。
此外,如果工作簿中的其他工作表未包含在摘要中,则可能会出现问题。如果我知道你如何命名你的床单,我可以帮忙。您可以测试工作簿中的每个工作表,例如是否隐藏。或者只是检查名称.. ws.Name的第一个字符是否具体?您需要取消注释IF语句和End If,并在该阶段包含IF的实际测试。
按原样,这将包括每张工作表,包括您正在创建的摘要表。它将涉及您浏览摘要表并确保只复制您想要的表格。
Sub SummaryBuilder()
Dim ws As Worksheet
Dim lastCol As Long
Dim lRow As Long
'Set your Summary Sheet up with Header Rows to match your Source Sheets
lastCol = Sheets("Summary").Cells(1, Columns.Count).End(xlToLeft).Column
lRow = 2
For Each ws In ActiveWorkbook.Worksheets
'If ws passes test Then 'If Left(ws.Name, 4) = "2014" for example or If ws.Visible = True
Sheets("Summary").Cells(lRow, 1) = ws.Name 'Sets Column A with NAME of Sheet
For lCol = 2 To lastCol 'Loops through all summary columns
Sheets("Summary").Cells(lRow, lCol) = Sheets(ws).Cells(2, lCol) 'Assuming your data is Row 2
Next lCol
lRow = lRow + 1
'End If
Next ws
End Sub