如何在vba中打开工作表?

Dr.*_*ing 2 vba worksheet

可笑的是,以下代码仅在实际在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
Run Code Online (Sandbox Code Playgroud)

Jay*_*Jay 5

您可以按名称或基于1的索引(数字-第一个工作簿,第二个,依此类推)激活工作表。两种方法的语法都相同。

这将激活第三个工作表:

ActiveWorkbook.Sheets(3).Activate
Run Code Online (Sandbox Code Playgroud)

这将激活名为stats的工作表:

ActiveWorkbook.Sheets("stats").Activate
Run Code Online (Sandbox Code Playgroud)

当然,您实际上不必在Excel窗口中选择工作表即可使用它。您的代码使用名为的变量sheet,我假设您已将其分配给活动工作表。可以这样做,而不是这样做,set sheet = ActiveWorkbook.Sheets("stats")即使不在视图中,也可以对其进行处理。