Как я могу получить вход из ActiveX InputBox в Excel, чтобы быть в моем коде VBA? - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь создать лист ввода данных пользователя в Excel, чтобы он мог отфильтровать базу данных из другого листа, однако я не знаю, как взять данные, полученные из этого листа ввода, для использования. и сохраняется в моем коде VBA.

Вот мой лист ввода данных:

enter image description here

Что я пытаюсь сделать, это заменить всплывающий блок ввода из этого код и заменить ввод из листа ввода данных. Это предыдущий код:

Sub InputFilter()

    Dim strInput As String
    Dim strInput1 As String
    Dim strInput2 As String

        ActiveSheet.AutoFilterMode = False
        strInput = InputBox("Enter your value to filter WPP")
        'Selection.AutoFilter
        ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=8, Criteria1:=strInput 'User Input for desired WPP

        strInput1 = InputBox("Enter your Product Category")
        'Selection.AutoFilter
        ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=6, Criteria1:=strInput1 'User Input for Product Category

....

И превратить его в что-то вроде этого, но он выдает ошибку 438, и данные из таблицы ввода не хотят заменить strInput

Sub test()

ActiveSheet.AutoFilterMode = False
ActiveWorkbook.Worksheets("Raw Data Domestic").strInput = ActiveSheet("Sheet").txtWPP.Value
ActiveSheet("Raw Data Domestic").Range("$A$4:$BL$351").AutoFilter Field:=8, Criteria1:=strInput


End Sub

1 Ответ

1 голос
/ 20 марта 2020

ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=6, Criteria1:=strInput требует, чтобы строка была присвоена свойству Criteria1. Неважно, откуда эта строка. Подойдет любое из следующего, и может быть дано больше примеров.

strInput = InputBox("Enter your value to filter WPP")
or
strInPut = ActiveSheet.Cells(3, 1).value
or
strInput = ActiveSheet.txtWPP.Value

Просто помните, что ActiveSheet указывает активный лист, независимо от его имени. ActiveSheet("Sheet"), следовательно, невозможно. Это или просто ActiveSheet или Worksheets("Sheet").

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