【发布时间】:2014-03-05 14:29:02
【问题描述】:
我正在编写一个宏,它计算某个工作表中的列数,然后将此工作表内容复制到同一工作簿中的 Sheet1。
Sub test()
Dim LastCol As Long
Set currentsheet = ActiveWorkbook.Sheets("Sheet1")
LastCol = Sheets("APage").Range("A1").End(xlToRight).Column
Sheets("APage").Range("1:1" & LastCol1).Copy
currentsheet.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End Sub
特殊之处在于工作表名称可能是:"APage", "BPage", "10Page" 等。所以第一个后者可能不同,但 "Page" 始终保留在工作表名称中。
如何正确使用 * 在 VBA 中使用所有名为 Pages 的工作表,在工作表名称的开头带有任何字母?谢谢!
【问题讨论】:
-
Ale,正如我所见,您尝试将数据从每个工作表“* Page”复制到工作表
Sheet1。但是你想把它们粘贴到哪里?在第一张纸的 A2 中,从第二张纸的 B2 中等等? -
这只是一个简短的例子。实际上,我将每个“* Page”复制的内容粘贴到 O2、Q2、S2、..Y2 单元格。
-
再瘦一点,insted
LastCol = Sheets("APage").Range("A1").End(xlToRight).Column我推荐你使用LastCol = Sheets("APage").Cells(1, Columns.Count).End(xlToLeft).Column- 它更可靠 -
请先研究 - Excel VBA like operator的副本
-
@simoco 啊谢谢,我会改正的。