Заполнение формы текстового поля ComboBox - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь заполнить текстовое поле для выбора элемента Combobox, однако я получаю Runtime 1004: Невозможно получить свойство Vlookup класса WorksheetFunction:

Код, используемый на данный момент:

Private Sub UserForm_Change()
Dim GetRange As Range
    Set GetRange = ActiveWorkbook.Worksheets("Report - Report").Range("I269:I287")
    Me.ClientComboBox.List = GetRange.Columns(2).Value
End Sub
Private Sub ClientComboBox_Change()
    Me.TimingTextBox1.Text = Application.WorksheetFunction.VLookup(Me.ClientComboBox.Value, GetRange, 2, False)
     On Error GoTo 0
End Sub

Изображение, прикрепленное к паспорту = "Отчет - Отчет"

Заранее спасибо:)

enter image description here

1 Ответ

0 голосов
/ 28 февраля 2020

Три вопроса:

  1. Область действия переменной GetRange не является глобальной
  2. Вы должны контролировать тип значения поиска в функции VLOOKUP
  3. Используйте UserForm_Initialize () вместо UserForm_Change (), если только вам не требуется изменение пользовательской формы.

    
    Private Sub ComboBox1_Change()
        Me.TextBox1.Text = Application.WorksheetFunction.VLookup(CStr(Me.ComboBox1.Value), GetRange, 2, False) ' Control with CDbl(), CStr(), CInt()
    End Sub
    
    Private Sub UserForm_Initialize() 'Change this method
        Set GetRange = ActiveWorkbook.Worksheets("Sheet1").Range("A1:B3")
        Me.ComboBox1.List = GetRange.Columns(1).Value
    End Sub```
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...