Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 重写VBA使其独立于语言_Excel_Vba - Fatal编程技术网

Excel 重写VBA使其独立于语言

Excel 重写VBA使其独立于语言,excel,vba,Excel,Vba,我有一个脚本,在我的英语环境下运行良好。但是,本文件将在国际上使用,不考虑语言。你能帮我确定代码中需要重写才能工作的部分吗 Sub Export() Dim DataBook As String Dim ExportBook As String DataBook = ThisWorkbook.Name Workbooks.Add ExportBook = ActiveWorkbook.Name Sheets("Sheet1").Name = "Options&q

我有一个脚本,在我的英语环境下运行良好。但是,本文件将在国际上使用,不考虑语言。你能帮我确定代码中需要重写才能工作的部分吗

Sub Export()
Dim DataBook As String
Dim ExportBook As String

DataBook = ThisWorkbook.Name

Workbooks.Add
ExportBook = ActiveWorkbook.Name
Sheets("Sheet1").Name = "Options"
Sheets.Add
ActiveSheet.Name = "Models"

Workbooks(DataBook).Activate
Worksheets("OUTPUT_Modeller").ListObjects("Modeller_OUTPUT").Range.Copy
Workbooks(ExportBook).Activate
Worksheets("Models").Range("A1").PasteSpecial (xlPasteValues)
Worksheets("Models").Activate
    Columns(1).EntireColumn.Delete
    Columns(12).EntireColumn.Delete
    Columns(15).EntireColumn.Delete
    Worksheets("Models").Range("A1:N1").Columns.AutoFit
    Worksheets("Models").Range("A1").Select
  
Workbooks(DataBook).Activate
Worksheets("OUTPUT_Optioner").ListObjects("Optioner_OUTPUT").Range.Copy
Workbooks(ExportBook).Activate
Worksheets("Options").Range("A1").PasteSpecial (xlPasteValues)
Worksheets("Options").Activate
    Rows(2).EntireRow.Delete
    Columns(1).EntireColumn.Delete
Worksheets("Options").Range("A1:N1").Columns.AutoFit
Worksheets("Options").Range("A1").Select

End Sub

我在代码中看到的唯一依赖于语言的东西是工作表名称。请注意,图纸有两种不同的命名系统:

  • 工作表的选项卡名称,在VBA中为工作表(“工作表1”)
  • 图纸的VBA名称,在VBA中为Sheet1
  • VBA名称(绿色)在VBA编辑器的“属性”窗口中更改。选项卡名称(红色)可以直接在选项卡中更改

    因此,例如,不要使用
    工作表(“选项”)。范围
    请确保使用您喜欢的任何语言为选项卡命名,例如
    alternativ
    ,并且工作表的VBA名称为英语,然后
    选项
    如下所示:


    然后,您可以使用选项。范围,无论选项卡名称转换为什么,它都将始终通过其VBA名称引用正确的选项卡。

    更改计算机上的语言,查看您是否有问题。如果你注意到一个问题,你可以问得很清楚。在我看来,你只需要将这个:
    Sheets(“Sheet1”).Name=“Options”
    更改为:
    Sheets(1)。Name=“Options”