ReferTo和RefersToLocal有什么区别?

在Excel VBA中,以编程方式添加命名范围时,我可以这样做:

ThisWorkbook.Names.Add Name:="FirstName", RefersTo:="=$B$2" 

或者如:

 ThisWorkbook.Names.Add Name:="FirstName", RefersToLocal:="=$B$2" 

现在,谁能告诉我RefersToRefersToLocal的区别? 他们似乎在做同样的事情,而Excel文档也没有解释太多。 (它说后者使用“ 本地化的文本 ”,但没有解释这意味着什么。)

Formula允许VBA代码使用美国英语语法编写Excel公式,而FormulaLocal允许VBA代码使用用户的当前语言设置编写公式。 (还有FormulaR1C1FormulaR1C1Local属性允许以R1C1表示法input公式。)

以类似的方式, RefersTo允许使用美国英语语法input“命名范围”的公式(实际上它可能不仅仅是对范围的引用),而RefersToLocal允许使用本地语言。 (还有RefersToR1C1RefersToR1C1Local属性,允许在R1C1表示法中input“命名范围”的公式。)

所以在西class牙语Excel中,这个:

 Range("A1").Formula = "=DAY(NOW())" 

相当于:

 Range("A1").FormulaLocal = "=DIA(AHORA())" 

和这个:

 ThisWorkbook.Names.Add Name:="TodaysDayOfMonth", RefersTo:="=DAY(NOW())" 

相当于:

 ThisWorkbook.Names.Add Name:="TodaysDayOfMonth", RefersToLocal:="=DIA(AHORA())" 

那些“范围名称”可能看起来很奇怪,但可以用在VBA中,因为它们可以用在VBA中

 ... = Range("TodaysDayOfMonth") 

或在Excel中

 =IF(TodaysDayOfMonth=15,1,0)*A5 

而不需要在实际的单元格中实际执行DAY(NOW())计算。