пишу код vba
Пользователь на листе «Титул» в ячейке A1 пишет год, например 2025
далее это значение присваивается переменной g1, а переменные g2,g3,g4, g 4 вычисляются +1, +2,+3,+4
В результате получаем значения переменных это 2025,2026,2027,2028,2029
теперь мне необходимо в коде VBA настроить фильтр сразу по всем этим пяти переменным. Т.е. что ты столбец где куча данных от Рождества Христова до конца жизни Байдена отфильтровплись только эти года.
в столбце точно цифры целые простые цифры. Проверяла через =, выдаёт Истина.
макрос написала, но он выдает пустую таблицу, ничего не фильтруется совсем.
подскажите что я не так сделала? Как то в фильтре по особеннному надо переменные указывать?
Sub test1() |
Dim g1 As Long |
Dim g2, g3, g4, g5 As Long |
' в ячейке A1 на листе "Титул" написала год начала 2025 например |
g1 = ThisWorkbook.Worksheets("Титул").Range("A1").Value |
g2 = g1 + 1 |
g3 = g1 + 2 |
g4 = g1 + 3 |
g5 = g1 + 4 |
'задаю занчение в ячейке А1 = 2025 |
'макрос присваивает переменным 2025,2026 и т.д |
'в столбце 250 указаны цифры 2025,2026 и т.д |
'Проверила даже совпадают ли данные в чейке A1 и в столбце который фильтруется |
' значение A1 = 2025 = сначению в ячейки в 250м столбце, выдают ИСТИНА |
|
|
ActiveSheet.Rows(2).AutoFilter Field:=250, Criteria1:=Array( _ |
g1, g2, g3, g4, g5), _ |
Operator:=xlFilterValues |
|
|
'фильтр не ругается, но при этом фильтр просто скрывает всю таблицу и все. |
|
|
End Sub |