Метод 'Range' объекта'_Worksheet 'не удалось устранить причину? 1 - PullRequest
0 голосов
/ 14 января 2019

Я пишу код, чтобы заполнить мой комбинированный список (Question_Num), используя определенное имя. Мое определенное имя хранится в str3. Я очень новичок в VBA. Когда я запускаю программу, она выдает ошибку времени выполнения

диапазон методов объекта _workheet не удалось

Я не знаю, что я делаю неправильно

это где программа зависает ... 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 голосов
/ 14 января 2019

Это потому, что вы не указали допустимый диапазон.

Метод Range получает диапазон Cells в качестве аргумента, например, «A1», если вы ссылаетесь на первую ячейку на листе, или «A1: B1». «если вы хотите сослаться на первые 2 горизонтальные ячейки.

Вы можете проверить следующую ссылку для получения дополнительной информации о том, как использовать метод .Range . https://docs.microsoft.com/en-us/office/vba/api/excel.range(object)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...