Excel VBA复选框英语与法语

时间:2017-06-02 14:49:33

标签: excel vba excel-vba checkbox localization

我有一个需要处理复选框的Excel文件。复选框的名称是用法语自动定义的(由于我的安装是法语)。例如“Caseàcocher100”而不是“Checkbox 100”。

然而,当我们的兄弟公司使用这个Excel文件时,由于它们的安装是英语而崩溃。

有没有办法为英语和法语做以下工作?

ActiveSheet.CheckBoxes("Case à cocher 488").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 383").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 467").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 461").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 460").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 459").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 458").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 8").Interior.Color = RGB(255, 255, 255)

我似乎无法找到重命名复选框名称的方法。

1 个答案:

答案 0 :(得分:8)

检查区域设置,然后决定使用哪个。

试试这个

Sub Sample()
    Dim CBNAME As String

    Select Case Application.International(XlApplicationInternational.xlCountryCode)
        Case 1 '<~~ English
            CBNAME = "CheckBox"
        Case 33 '<~~ French
            CBNAME = "Case à cocher"
    End Select

    ActiveSheet.CheckBoxes(CBNAME & " 488").Interior.Color = RGB(255, 255, 255)
End Sub