Я хотел бы написать код vba, который спрашивает пользователя «по какому столбцу» они хотят фильтровать; а затем «по какой дате» они хотят отфильтровать этот столбец по (т.е. по любой дате после мм / дд / гггг)
Что-то вроде:
Sub FilterByInput()
Dim iPutFound As Range
Dim mycol As String
Dim mydate As String
mycol = Application.InputBox("Enter alpha-numeric of Column to be filtered -ie. AP3", Type:=2)
mycol = Range(mycol & 1).Column
mydate = Application.InputBox("Enter date since last update was ran- mm/dd/yyyy", Type:=2)
Application.ScreenUpdating = False
ActiveSheet.Range("$A$3:$DK$11000").AutoFilter Field:=mycol, Criteria1:=">" & mydate, Operator:=xlFilterValues
'The code will resume with copying and pasting the filtered results to another sheet, etc
End Sub
Я получаю сообщение об ошибке во время выполнения: «Ошибка метода автофильтрации класса диапазона». Моя строка заголовка находится в строке 3. Я пытался отключить фильтры перед запуском кода, но это тоже не сработало. Любая помощь с благодарностью.
Вот что я сделал с правкой:
Dim ws As Worksheet: Set ws = ActiveSheet
Dim iPutFound As Range
Dim mycol As String
Dim myrng As Range
Dim mydate As String
mycol = Application.InputBox("Enter alpha-numeric of Column to be filtered -ie. M", Type:=2)
Set myrng = Range(mycol & 1).Column
mydate = Application.InputBox("Enter date since last update was ran- mm/dd/yyyy", Type:=2)
Application.ScreenUpdating = False
ActiveSheet.Range(mycol & 1).Column.AutoFilter Field:=mycol, Criteria1:=">" & mydate, Operator:=xlFilterValues