非常有趣的是,如果在Excel窗口中实际选择了工作表,则以下代码才有效。我真的想很快完成这个宏,但似乎无法弄清楚如何选择一个特定的工作表,以便它在excel中打开?非常感谢有人知道如何。我必须使用范围等。
sheet.Range(Cells(firstRow, 2).Address(False, False), Cells(lastRow, 50)).Select
With Selection
.Copy
End With
sheet.Range(Cells(firstRow, 3).Address(False, False), Cells(lastRow, 51)).Select
With Selection
.PasteSpecial xlPasteValuesAndNumberFormats
End With
答案 0 :(得分:4)
您可以按名称或基于1的索引(数字 - 第一个工作簿,第二个,等等)激活工作表。无论哪种方式,语法都是相同的。
这将激活第3个工作表:
ActiveWorkbook.Sheets(3).Activate
这将激活名为stats的工作表:
ActiveWorkbook.Sheets("stats").Activate
当然,您无需在Excel窗口中实际选择工作表即可使用它。您的代码使用名为sheet
的变量,我假设您已将其分配给活动工作表。您可以set sheet = ActiveWorkbook.Sheets("stats")
而不是这样做,然后即使不在视图中也可以使用工作表。
答案 1 :(得分:1)
工作簿(x).Worksheets(x).Activate?