请在worksheet.add方法中解释括号的作用

时间:2017-08-19 16:40:19

标签: excel-vba vba excel

编写此代码时

Worksheets.Add after:=Worksheets(Worksheets.Count) 

VBA在ADD方法后提供左括号选项。但如果我附上

after:=Worksheets(Worksheets.Count)
括号中的

显示错误。

为什么?

2 个答案:

答案 0 :(得分:0)

一种用途是即时设置变量。

dim nuws as worksheet
set nuws = Worksheets.Add(after:=Worksheets(Worksheets.Count))

因为您正在使用返回值执行某些操作(例如,将其设置为var),所以参数必须位于括号中。

另一个用途是在线重命名新工作表。

Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "New WS"

同样,因为您正在对新创建的对象执行某些操作(例如命名它),所以参数必须在括号中。

答案 1 :(得分:0)

调用Worksheets.Add作为子。没错。

Worksheets.Add after:=Worksheets(Worksheets.Count)

将Worksheets.Add作为函数调用,但不使用返回的值。产生错误。基本上,你告诉它返回一个值但却无法存储该值。

Worksheets.Add(after:=Worksheets(Worksheets.Count))

将Worksheets.Add作为函数调用并忽略返回的值。没错。

Call Worksheets.Add(after:=Worksheets(Worksheets.Count))

调用Worksheets.Add作为函数并捕获返回的值。没错。

SomeVar = Worksheets.Add(after:=Worksheets(Worksheets.Count))