【发布时间】:2021-05-04 05:23:34
【问题描述】:
我是 vba 新手,但我认为这是解决我的问题的最佳方法。我需要从多个工作表 L1:L7(400+) 复制特定范围的数据并将其粘贴到摘要工作表 L2:R2 上。我必须在粘贴数据时转置数据,并将每组新数据复制到下一个可用行。我看过很多视频和阅读文章,但似乎都没有提供完整的解决方案。
当我尝试创建一个循环并尝试让它到达下一行时,它不起作用。它似乎总是卡在同一个“范围(“L2”)。PasteSpecial Transpose:True”的地方。它从“ActiveSheet.Select”单独工作,因此仅适用于一张纸和一行。下面是我尝试的最后一个循环组合。
任何帮助将不胜感激!
Sub CopyData()
Dim sheet As Worksheet
For Each sheet In ThisWorkbook.Sheets
If sheet.Name <> "Summary" Then
ActiveSheet.Select
Range("L1:L7").Copy
Sheets("Summary").Select
Range("L2").PasteSpecial Transpose:=True
End If
Next
End Sub
【问题讨论】:
-
不要使用
ActiveSheet,同时使用sheet和avoidSelect。