在excel vba中选择特定工作表中的范围

use*_*069 3 excel select vba range

我有一个关于使用excel vba选择特定工作表中的范围的问题.

我不知道为什么以下不起作用:

Thisworkbook.Sheets("N&A").Range("B4:F16").select
Run Code Online (Sandbox Code Playgroud)

但是这有效:

Thisworkbook.Sheets("N&A").Activate
ActiveSheet.Range("B4:F16").Select
Run Code Online (Sandbox Code Playgroud)

VBA代码在"N&A"表上编程.

谁能让我知道可能是什么原因?

谢谢!

Dou*_*ncy 7

你基本上回答了自己的问题.以下是Excel 2003帮助的摘录:

"如果使用Select方法选择单元格,请注意Select仅适用于活动工作表.如果从模块运行Sub过程,Select方法将失败,除非您的过程在使用Select方法之前激活工作表细胞范围."

更重要的是,请记住,Select在VBA中很少使用它,如果可能的话应该避免使用它.