В идеале будет столбец с указанием даты в нем. Затем вы можете сделать расширенный фильтр для фильтрации в диапазоне дат, который вам нужен. Выбор последних 31 дней не всегда будет выбирать только один месяц. Он может выбрать до 3 дней по сравнению с предыдущим месяцем.
Public Sub selectLastMonth()
Dim ws As Worksheet
Dim dStart As Date, dEnd As Date
Set ws = ActiveSheet
ws.Range("A:B").Sort key1:=ws.Range("A2"), header:=xlYes
dEnd = ws.Range("A1").End(xlDown).Value
dStart = DateSerial(DatePart("yyyy", dEnd), DatePart("m", dEnd), 1)
ws.Range("A:B").AutoFilter field:=1, Criteria1:=">=" & dStart, Operator:=xlAnd, Criteria2:="<=" & dEnd
Set ws = Nothing
End Sub
спасибо, вот на самом деле, что мне нужно - у меня уже есть столбец с датой в ней - как бы я написать фильтр в VBA? – 2008-12-05 15:22:59