ReferTo和RefersToLocal有什么区别?
在Excel VBA中,以编程方式添加命名范围时,我可以这样做:
ThisWorkbook.Names.Add Name:="FirstName", RefersTo:="=$B$2"
或者如:
ThisWorkbook.Names.Add Name:="FirstName", RefersToLocal:="=$B$2"
现在,谁能告诉我RefersTo
和RefersToLocal
的区别? 他们似乎在做同样的事情,而Excel文档也没有解释太多。 (它说后者使用“ 本地化的文本 ”,但没有解释这意味着什么。)
Formula
允许VBA代码使用美国英语语法编写Excel公式,而FormulaLocal
允许VBA代码使用用户的当前语言设置编写公式。 (还有FormulaR1C1
和FormulaR1C1Local
属性允许以R1C1表示法input公式。)
以类似的方式, RefersTo
允许使用美国英语语法input“命名范围”的公式(实际上它可能不仅仅是对范围的引用),而RefersToLocal
允许使用本地语言。 (还有RefersToR1C1
和RefersToR1C1Local
属性,允许在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())
计算。