我正在编写代码,以使用定义的名称填充组合框(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
答案 0 :(得分:0)
那是因为您没有给出有效范围。
Range 方法将接收范围为 Cells 的参数,例如,“ A1”(如果您引用工作表中的第一个单元格),或者“ A1”。 :B1”,则要引用前2个水平单元格。
您可以检查以下链接,以获取有关如何使用 .Range 方法的更多信息。 https://docs.microsoft.com/en-us/office/vba/api/excel.range(object)