Excel VBA复选框英语与法语

Excel VBA复选框英语与法语,vba,excel,checkbox,localization,Vba,Excel,Checkbox,Localization,我有一个Excel文件,需要处理复选框。复选框的名称自动用法语定义(因为我的安装是法语的)。例如,“Caseácocher 100”而不是“Checkbox 100” 然而,当我们的兄弟公司使用这个Excel文件时,它会崩溃,因为它们的安装是英文的 有没有一种方法可以使以下内容适用于英语和法语 ActiveSheet.CheckBoxes("Case à cocher 488").Interior.Color = RGB(255, 255, 255) ActiveSheet.CheckBoxes

我有一个Excel文件,需要处理复选框。复选框的名称自动用法语定义(因为我的安装是法语的)。例如,“Caseácocher 100”而不是“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)

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

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

试试这个

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
子样本()
将名称设置为字符串
选择案例应用程序.International(XlApplicationInternational.xlCountryCode)

案例1“这是一个非常常见的问题。通常,您不应该使用英语以外的任何特定于语言的代码,以确保您的代码将以其他语言运行。我怀疑在你的情况下,它可能是你代码中的a。要避免这种情况,请使用工作表来命名这些框。使用对包含名称的单元格的引用。根据语言设置,您将使用另一列。这看起来像是大量重复的代码。如果可以,您应该考虑实现循环,并使用类似的方法对活动表中的每个复选框执行相同的操作。这样做的好处是,您甚至不需要知道各个复选框的名称。但我不知道你是否只需要解决具体的问题。。。即使这样,我也会考虑定义一个子程序来处理这个问题。这是一个工程师编写的代码,他对循环一无所知。他们意识到它被窃听了,所以我负责修理它。太棒了!!