Привет всем кодоводам!
Есть умная таблица (не однородная) с заголовками внутри. Создаю форму с 2 Mountview в которых выбираю даты и записываю их в ячейки К2,К3
Код |
---|
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Range("k2").Select
Selection.NumberFormat = "mm\/dd\/yyyy"
ActiveCell.FormulaR1C1 = MonthView1.Value
End Sub |
, а в ячейке К4 вычисляю интервал между ними. (K3-K2)
В ячейки L1:L100 записываются все даты в выбранном ранее интервале.
Записываю массив с полученным интервалом дат:
Код |
---|
Public myArrr(1000, 0) As Variant
Sub макрос_запись_в_массив()
Application.ScreenUpdating = False
ActiveSheet.ListObjects("Таблица10").Range.AutoFilter Field:=2
kol = Range("K4").Value 'присваиваю количество дней между датами
Range("L1:M999").Clear 'очищаю дату из интервала дат
Range("L1").Value = Range("K2").Value
Range("L1").Select 'выделяю первую дату в интервале
Selection.AutoFill Destination:=Range(Cells(1, 12), Cells(kol + 1, 12)), Type:=xlFillDefault
'получаю все даты в выбранном интервале
Range("M1:M150").NumberFormat = "mm\/dd\/yyyy"
Макрос_Запись_данных_в_массив
макрос_фильтра
Application.ScreenUpdating = True
End Sub
|
Записываю даты в массив:
Код |
---|
For i = 0 To 100
If Range("l" & i + 1).Value <> "" Then
myArrr(i, 0) = Range("l" & i + 1).Value
End If
Next |
В первый критерий я записываю массив с названиями заголовков, а во второй массив интервал дат.
Код |
---|
ActiveSheet.ListObjects("Таблица10").Range.AutoFilter _
Field:=2, _
Criteria1:=Array("Время пожара", "Время происшествия", "Время ЧС", "Дата", "Штормовые"), _
Operator:=xlFilterValues, _
Criteria2:=myArrr 'Выдает ошибку run-time 1004 error
|
Нужно отфильтровать по датам и при этом оставить строки заголовков.
Где и что у меня не так?
Excel 2010.