Хорошо, так вот код для моего UserForm:Excel VBA UserForm ВПР ошибка
Private Sub CancelButton_Click()
Unload Me
End Sub
Private Sub ClearButton_Click()
Call InventoryEntryBox_Initialize
End Sub
Private Sub SubmitButton_Click()
Dim emptyRow As Long
'Make Inventory Test sheet active
Worksheets("InventoryTest").Activate
'Transfer Information
Worksheets("InventoryTest").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Value = PartNumberComboBox.List
Worksheets("InventoryTest").Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Value = LocationTextBox.Value
Worksheets("InventoryTest").Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).Value = QuantityTextBox.Value
Worksheets("InventoryTest").Cells(Rows.Count, "F").End(xlUp).Offset(1, 0).Value = CommentsTextBox.Value
Call InventoryEntryBox_Initialize
End Sub
Private Sub InventoryEntryBox_Initialize()
'Fill PartNumberComboBox
PartNumberComboBox.List = ActiveWorkbook.Sheets("Test2").Range("B2:B43").Value
'Empty Location Text Box
LocationTextBox.Value = ""
'Empty Quantity Text Box
QuantityTextBox.Value = ""
'Empty Comments Text Box
CommentsTextBox.Value = ""
'Unit Of Measure auto-fill box
'Description auto-fill box
DescriptionFormula.Value = Application.WorksheetFunction.VLookup(PartNumberComboBox.List, ActiveWorkbook.Sheets("Test2").Range("B2:D43"), 3, False)
'Set focus on Empty Part Number text box
PartNumberTextBox.SetFocus
End Sub
Теперь, идея с этим кодом состоит в том, чтобы иметь пользовательскую форму, поэтому ne может заполнить его (PartNumberComboBox, LocationTextBox, QuantityTextBox и CommentsTextBox), чтобы каталогизировать инвентарь о том, какие предметы находятся в каких местах и в каком количестве. Когда кто-то заполняет номер позиции в PartNumberComboBox, DescriptionFormula будет автоматически заполняться данными из списка (отмечен как PartDescription, который включает D2: D43 в лист Test2).
Моя проблема, однако, сводится к двум вариантам: поле «ОписаниеFormula.Value» не заполняется автоматически, когда кто-то вводит номер детали в PartNumberComboBox, и когда я пытаюсь нажать кнопку «отправить», чтобы подтвердить данные, введенные в форму и помещенные в области, указанные в коде, я получаю диалоговое окно, которое появляется и говорит «Ошибка времени выполнения 70:« Разрешено разрешение », затем« PartNumberComboBox.List = ActiveWorkbook.Sheets (" Test2 "). Диапазон (« B2: B43 »). Значение« подсвечивается, когда я иду на отладку.
Я не уверен, что это проблема с моим кодом, или если это ограничение Excel или Vlookup на основе того, что я делаю ... или если это что-то еще. Любая помощь, которую любой мог предложить, будет благословением на этом этапе.
Свойство combobox "PartNumberComboBox" ** Стиль = 2 - fmStyleDropdownList ** – Arya
Изменение, которое позволяет пользователю видеть, что они печатают в поле со списком, и по-прежнему дает мне ошибку «отказ в доступе». – Allenisto
в столбце B вы хотите только одно значение из поля со списком справа ??? используйте PartNumberComboBox.List (PartNumberComboBox.listindex) или PartNumberComboBox.text – Arya