VBA脚本复制下一个工作表中的列,并粘贴到第一个工作表中的下一个空列



我需要为以下情况编写一个简短的VBA脚本。工作簿包含多个工作表。第一张表格是摘要表格。在汇总表之后,有一个不规则数量的表,其中包含我想在汇总表上显示的信息。信息总是在"B栏"。脚本应该复制每个表的"B栏",并将其粘贴到汇总表的下一个空列。也就是说,复制"Sheet 2"中的"B列"粘贴到"Sheet 1"中的下一个空列,然后复制"Sheet 3"中的"B列"并再次粘贴到"Sheet 1"中的下一个空列,以此类推。

感谢所有的帮助,谢谢!

您需要声明Worksheet类型变量(例如Dim ws As Worksheet),以通过For Each ws In Activeworkbook.WorksheetsNext ws。然后需要定义哪个工作表是母表。我再次推荐Worksheet,例如Set wsMain = ActiveWorkbook.Worksheets("Summary")。使用

来完成它
wsMain.Cells.Find("*",SearchOrder:=xlByColumns,SearchDirection:=xlPrevious).Column

告诉您汇总表中最后使用的列的索引。你可以将它存储在一个变量中,然后在循环中增加1,或者在循环中运行它(不节约资源,但谁在乎那两毫秒)。
您可以通过索引引用列,在您的情况下将是ws.Cells.Columns(2)wsMain.Cells.Columns(LastColumn + 1)
祝你写代码愉快,希望我能帮到你!

成功了:

Sub NextWsToNextEmptyColumn()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Cells.Columns(2).Copy Sheets(1).Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)
Next ws
End Sub

相关内容

最新更新