Доброго времени суток! Прошу помочь мне с макросом. Суть проблемы в следующем.
Есть разные даты (в столбце G), по разным критериям нужно будет делать сводные таблицы. Конкретно данный макрос должен фильтровать даты, т.е. в ячейка J3 и K3 пользователь выбирает нужные даты, макрос оставляет в таблицы значения с этим датами (далее по оставшимся данным строится pivot, но сейчас не об этом). Я попытался написать код, но проблема возникает при фильтровке - выдает ошибку, уже битый час не могу разобраться в чем дело. Сам код и файл прикрепляю. Помогите, пожалуйста, кто может. Спасибо!
PS. Также может кто посоветует, как лучше реализовать выпадающийся список имеющихся дат в ячейках U3 и V3? В данном файле я его составлял вручную с помощью фильтра. Хотелось бы, чтобы он автоматически обновлялся при появлении новых дат, например, марта 2014 года.
Код
Sub дата()
Application.ScreenUpdating = False
If Range("J3").Value = 0 Or Range("K3").Value = 0 Then
MsgBox "Выберите дату", vbCritical, "Предупреждение"
Exit Sub
End If
With Sheets("TR_REPORT")
.Select
.Copy After:=Sheets(Sheets.Count)
End With
c1 = ">=" & Range("J3").Value2
c2 = "<=" & Range("K3").Value2
Range("G:G").AutoFilter Criteria1:=c1, Operator:=xlAnd, Criteria2:=c2
Application.ScreenUpdating = True
End Sub
чтобы он автоматически обновлялся при появлении новых дат
Почитайте здесь. В автофильтре должен указываться номер столбушка по которому надо фильтровать, у Вас в коде его нет. А лучше файл выложите будет понятней. Если объем у файла не большой выложите его в новом сообщении, при изменении сообщения у меня тоже бывало файл не грузился, компутер писал что его не находит и выдавал ошибку.
На другом форуме мне ответили, что проблема в том, что "данные и критерии не являются переменными типа "дата", а являются текстом, и соответственно сравниваются по критериям простого текста, по коду символов, а не как даты".
Подскажите, пожалуйста, как это можно исправить. Как изменить данные в таблице, чтобы можно было сравнивать их как даты?