1

我只是想把规则直接放在我的脑海里......

例如,使用 METHOD (Add) 我可以这样做:

Worksheets.Add After:=Worksheets(1)

...但以下使用属性(调整大小)会引发错误:

Selection.Resize.Select ColumnSize:=4

考虑到这一点,这没什么大不了的:

Selection.Resize(ColumnSize:=4).Select

...或其他几种方法都可以,但是如果有官方规则规定您可以使用 Method 进行参数的后放置(说得很​​快!),我只是想弄清楚但你不能用一个属性。

(我也有点困惑为什么 Resize 是一个属性而不是一个方法,所以如果有人知道答案,那将是一个奖励,但我认为这并不重要)。

提前致谢。

4

1 回答 1

4

当您编写时,Selection.Resize.Select ColumnSize:=4这是不合逻辑的,因为该resize属性没有任何被调用的成员Select,并且Select(如果它存在的话)不接受名为 的参数ColumnSize

为什么Selection.Resize(ColumnSize:=4).Select有效是因为你基本上已经写了

Dim TempRange as Range
set TempRange = Selection.Resize(ColumnSize:=4)
TempRange.Select
Set TempRange = Nothing

但这一切都在一条线上。

与此相关的是 Eric Lippert 写的一篇很棒的文章,关于 VBA parantheses gotcha's

于 2013-07-30T23:16:38.803 回答