编写此代码时
Worksheets.Add after:=Worksheets(Worksheets.Count)
VBA在ADD方法后提供左括号选项。但如果我附上
after:=Worksheets(Worksheets.Count)
括号中的显示错误。
为什么?
答案 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))