3

有趣的是,只有在 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
4

2 回答 2

7

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

这将激活第三个工作表:

ActiveWorkbook.Sheets(3).Activate

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

ActiveWorkbook.Sheets("stats").Activate

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

于 2010-07-08T14:09:55.177 回答
1

工作簿(x).工作表(x).激活?

于 2010-07-08T14:10:42.627 回答