对象“ _Worksheet”的方法“范围”失败原因? 1个

时间:2019-01-14 14:05:13

标签: excel vba

我正在编写代码,以使用定义的名称填充组合框(Question_Num)。我定义的名称存储在str3中。我是VBA的新手。当我运行程序时,它会给出运行时错误

  

对象_worksheet的方法范围失败

我不知道我在做什么错

这是程序挂起的地方... Set rngPage = ws.Range(str3)

Private Sub loadPage()

   Dim rngPage As Range
   Dim ws As Worksheet
   Dim str1 As String, str2 As String, str3 As String

      Set ws = Worksheets(Year_Combine.Value)
      Sheets(Year_Combine.Value).Activate

      str1 = Left(Year_Combine.Value, 4)
      str2 = Right(Year_Combine.Value, 1)
      str3 = "PageNum_" & str1 & "_" & str2

      Set rngPage = ws.Range(str3)

       For Each rngPage In ws.Range(str3)
            Me.Question_Num.AddItem rngPage.Value
       Next rngPage

End Sub

1 个答案:

答案 0 :(得分:0)

那是因为您没有给出有效范围。

Range 方法将接收范围为 Cells 的参数,例如,“ A1”(如果您引用工作表中的第一个单元格),或者“ A1”。 :B1”,则要引用前2个水平单元格。

您可以检查以下链接,以获取有关如何使用 .Range 方法的更多信息。 https://docs.microsoft.com/en-us/office/vba/api/excel.range(object)