Переменная не определена ошибка при выполнении - PullRequest
0 голосов
/ 07 апреля 2020

Может кто-нибудь объяснить, почему я получаю переменную не определена ошибка на этом частном подпрограмме?

Private Sub CommandButton4_Click()
'Autocomplete Button
Dim w As Long, lastRow As Long
For w = 2 To lastRow
   'If existing data = entered data
    If sh.Cells(w, 2).Value = Me.TextBox1.Value Then
    'fill textbox with associated existing data from same row
        Me.TextBox2.Value = sh.Cells(w, 3).Value
    'save value of i in invisible textbox because no better solution came to mind yet
        Me.TextBox8.Value = w
        Exit Sub
        End If
Next w
End Sub

1 Ответ

0 голосов
/ 07 апреля 2020

Ошибка возникает из-за того, что вы использовали переменную, но не объявляли ее раньше. Эта переменная выглядит как sh. Так что, если sh не является глобальной переменной, то вам нужно отменить ее и установить для нужного вам листа перед использованием переменной:

Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("YourSheetName")

Также обратите внимание, что lastRow не имеет значения и следовательно, 0 перед его использованием необходимо установить значение для этой переменной.

В противном случае For w = 2 To lastRow равно For w = 2 To 0 и, следовательно, никогда не будет работать.

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