我的一个 friend 在一家保险公司担任分析师,他使用 Visual Basic for Applications (VBA) 编写脚本。
由于她的公司在不同的欧洲国家设有办事处,因此她需要使脚本尽可能与语言无关。
最近出现的一个问题是如何处理 Excel 文档并引用工作表(例如 Sheet1、Sheet2),而无需将该术语翻译为主要欧洲语言。
是否有人知道 Excel 是否提供了一个常量列表,无论 Windows/Excel 的本地化版本如何,她都可以使用该常量列表来访问不同的信息?
谢谢。
最佳答案
切勿使用工作表的硬编码名称在 VBA 中引用它们。
Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
DoSomethingWith s
Next s
或
Set s = ActiveSheet
DoSomethingWith s
或
Set s = ActiveWorkbook.Sheets.Add()
DoSomethingWith s
或
Dim i As Long
With ActiveWorkbook.Sheets
For i = 1 To .Count
DoSomethingWith .Item(i)
Next i
End With
然而,在单元格引用中,使用实际的工作表名称是不可避免的。这些引用可以根据 VBA 的需求构建。 Excel 会自动使现有引用(在单元格函数中)保持最新。
关于excel - 与语言无关的方式来引用 "Sheet"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393558/