Range.Cells属性语法

时间:2017-01-22 13:49:25

标签: excel vba excel-vba

我对Range.Cells属性感到困惑。根据MSN文档:

Range.Cells Property (Excel)

语法应为expression .Cells

然而,在下面的示例中,代码不遵循此语法,但似乎使用Cells作为函数:

Worksheets("Sheet1").Activate 
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True

1 个答案:

答案 0 :(得分:4)

如果.Cells方法之前没有点Range,则称为非限定范围参考; Excel的VBA会自动将其包装到当前处于活动状态的工作表中。

Cells(1, 1) <==> Activesheet.Cells(1, 1)
Range("A1") <==> Activesheet.Range("A1")

然而,这被认为是不良做法,应该避免它,因为它会导致随机问题和错误;代码的行为取决于用户当前在Excel的GUI中有哪些工作表。经验丰富的开发人员总是尽可能避免使用合格范围;即

Worksheets("someSheetName").Cells(1, 1)