Я очень новичок в изучении VBA, и я прошу помощи, чтобы установить значение критерия автоматического фильтра: определяется переменной, которая будет изменяться в цикле. В приведенном ниже примере я не включил цикл. Прежде всего, я хочу знать, возможна ли установка Критерия таким способом.
Sub AutoFilterLearning()
Dim x As String
Dim Criteria As Object
x = "1001A"
Set Criteria = x
' loop will start
Sheets("Sheet2").Select
ActiveSheet.Range("$B$1:$B$87").AutoFilter Field:=1, Criteria1:=x.Value
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Select
ActiveSheet.Paste
Selection.End(xlUp).Select
ActiveCell.Offset(0, 1).Select
x = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
' loop
End Sub
Я могу запустить этот саб с открытым окном VBE, вручную изменив критерий: = значение, и оно работает. Когда я пытаюсь установить критерии = x, я получаю несоответствие типов. Когда вместо этого я изменяю размер в качестве варианта, в строке набора отображается «Требуется объект».