【问题标题】:Subscript out of range in call function调用函数中的下标超出范围
【发布时间】:2016-10-24 18:32:24
【问题描述】:

我正在尝试根据工作表中的哪些信息来填充 ComboBox。此代码在模块的多个区域中重复使用,因此为了简单起见,我将其写在调用函数中。不幸的是,我在 If Worksheets("SheetName").Range("EG4") = "Current rate" Then 行收到“下标超出范围”错误。我正在使用字符串SheetName 来识别正确的工作表,并且它正确地捕获了名称。

感谢任何关于为什么会发生此错误的建议。以下是我的代码的副本。

Sub FillComboBox(X As Integer)
Dim Combobox As String
Dim SheetName As String

With Application
    .DisplayAlerts = False
    .ScreenUpdating = False
End With

Combobox = "ComboBox" & CStr(X)
SheetName = "Scenario" & CStr(X)

    If Worksheets("SheetName").Range("EG4") = "Current rate" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 0
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Current rate minus 1%" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 1
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Current rate minus 2%" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 2
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Primary rate" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 0
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Secondary rate" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 1
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Alternate rate" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 2
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Sun Term - NA" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 0
        End With
    ElseIf Worksheets("SheetName").Range("EG4") = "Not applicable" Then
        With ScenarioImport.Controls(Combobox)
        .ListIndex = 0
        End With
    End If

End Sub

【问题讨论】:

    标签: excel call worksheet-function vba


    【解决方案1】:

    我找到了答案。我必须删除 "SheetName" 周围的引号,以便正确读取字符串并调用所需的工作表。找出一个简单但令人沮丧的错误!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-27
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 2012-04-28
      相关资源
      最近更新 更多