У меня есть лист Excel с большим количеством данных в виде таблицы. Вот макрос запись для того, что хотите сделатьКак изменить фильтр, а затем скопировать все данные, указанные
ActiveSheet.Range("$A$1:$M$2735").AutoFilter Field:=1, Criteria1:= _
"2015-05-28"
Range("A2618").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Проблемы у меня с этим является то, что она дает конкретные ячейки для диапазона автофильтрации (Я хочу, чтобы применить это другую таблицу, которая может иметь различное количество строки/столбцы)
Я также хочу просто выбрать верхнюю левую ячейку после того, как данные будут отфильтрованы, этот код сделает это, назвав ее. После этого я хочу выбрать все данные в таблице и скопировать. Я знаю, что это имеет какое-то отношение к Range («A1»). CurrentRegion, но я не знаю, как это реализовать.
Другая проблема, с которой я столкнулась с моим кодом, - это фильтрация результатов с датами по отношению к сегодняшней дате. Например, я хочу отфильтровать дату вчерашнего дня, затем до дат 3 дня назад, а затем даты последних недель.
К сожалению, это 3 вопроса в должности, но помощь была бы оценена
Спасибо это помогло много! У меня есть еще один вопрос: :) Как добавить дополнительные даты на фильтр, который установлен на вчера, будет ли это: критериев: = format (date() - 1, "yyyy-mm-dd") (дата () -2 "yyyy-mm-dd") и т. Д.? Что я пытаюсь спросить, как отформатировать код, чтобы я мог его фильтровать вчера, а затем вчера за 2 дня до этого, а затем на прошлой неделе. –
Что значит «тогда» для вас? Покажите так, что указанные в часах значения одновременно (смотрите здесь: http://stackoverflow.com/a/18135388/4721734) или вы хотите, чтобы макрос менялся от одного к другому (в этом случае сохраняйте ваши значения в массиве как в предыдущей ссылке и пропустить их через 'for') –