Пожалуйста, протестируйте следующий код. Если мое (последнее) понимание верное, он должен делать то, что вы хотите. Не требует активации, выбора ...
Sub selectiveQuery()
Dim sh As Worksheet, i As Long, totRows As Long, totR As Long, Wk_name As String, wb As Workbook, shR As Worksheet
Dim cbPr As MSForms.ComboBox, cbTr As MSForms.ComboBox, cbDn As MSForms.ComboBox, cbK As MSForms.ComboBox
Dim cbQ As MSForms.ComboBox, cbInj As MSForms.ComboBox, cbInstr As MSForms.ComboBox
Set sh = Worksheets("Data")'Workbooks("Data.xlsm") must be activated...
totRows = sh.Range("B" & Rows.count).End(xlUp).row 'last row of "Data" sheet
'combo boxes variable definition, in order to compact and make the code easy to be understood:
Set cbPr = User_search.Cbx_Project_code: Set cbTr = User_search.Cbx_TrueNOC
Set cbDn = User_search.Cbx_DNAmass: Set cbK = User_search.Cbx_Kit
Set cbQ = User_search.Cbx_QIndex: Set cbInj = User_search.Cbx_Injection_time
Set cbInstr = User_search.Cbx_Instrument
Wk_name = "your workbook name" '!!!
Set wb = Workbooks.Open("C:\Users\Desktop\" & Wk_name & ".xlsx")
Set shR = wb.Worksheets("Results")
For i = 5 To totRows
If (Trim(sh.Cells(i, 2)) = Trim(cbPr.Value) Or cbPr.Value = "") And _
(Trim(sh.Cells(i, 5)) = Trim(cbTr.Value) Or cbTr.Value = "") And _
(Trim(sh.Cells(i, 6)) = Trim(cbDn.Value) Or cbDn.Value = "") And _
(Trim(sh.Cells(i, 7)) = Trim(cbK.Value) Or cbK.Value = "") And _
(Trim(sh.Cells(i, 8)) = Trim(cbQ.Value) Or cbQ.Value = "") And _
(Trim(sh.Cells(i, 9)) = Trim(cbInj.Value) Or cbInj.Value = "") And _
(Trim(sh.Cells(i, 10)) = Trim(cbInstr.Value) Or cbInj.Value = "") Then
totR = shR.Cells(Rows.count, 1).End(xlUp).row
sh.Rows(i).EntireRow.Copy Destination:=shR.Cells(totR + 1, 1)
Next i
sh.Activate
End Sub
Он делает условие True
и для случая пустого значения комбо ...
Код, из Конечно, не проверял. У меня нет таких файлов, нет такой формы с необходимыми комбо-боксами. Это кусок кода, который теоретически должен работать. Если возникнет какая-то ошибка, проверьте, правильно ли я сопоставил задействованную комбинацию с их настоящим именем ...