Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA два массива в автофильтр умной таблицы, задаю 2 критерия, массивами, получаю ошибку 1004
 
kuklp и RAN огромнейшее Вам спасибо за помощь!
VBA два массива в автофильтр умной таблицы, задаю 2 критерия, массивами, получаю ошибку 1004
 
Большое спасибо!
Сделал как вы сказали:
сделал динамический массив и стал указывать количество элементов в нем, по ходу.
Код
Public myArrr() As Variant, size As Integer, i As Integer

Sub Макрос_Запись_данных_в_массив()
size = Range("K4").Value 'количество ячеек в столбце L считаю как разность 2 ячеек К3-К2 (разность между датами) и плюсую 4
ReDim myArrr(size) 'задаю размер массива
For i = 0 To size
    If Range("l" & i + 1).Value <> "" Then 'проверяю на пустошь смауга
    myArrr(i) = Range("l" & i + 1).Value 'присваиваю элементу массива, значения. Значения названия и даты правильные
End If
Next
Range("M1").Resize(size, 1).Value = myArrr() 'смотрю что в массиве

макрос_фильтра
End Sub

Есть прогресс, начало показывать заголовки, но не показывает самое важное - строки с датами.
Смотрю поэтапно (F8) значения показывает правильные:
Код
Range("l" & i + 1).Value 'В этой строчке, все как положено - названия и даты
А при просмотре, что записано в массив, выдает лишь первое значение.  Как так-то?

Кто подскажет, где собака зарыта?
VBA два массива в автофильтр умной таблицы, задаю 2 критерия, массивами, получаю ошибку 1004
 
Собрал в один массив. Зависает сам Excel... (Лист Microsoft Excel (2).xlsm)
Код
ActiveSheet.ListObjects("Таблица10").Range.AutoFilter _
    Field:=2, _
    Criteria1:=myArrr, Operator:=xlFilterValues
Если пишу:
Код
ActiveSheet.ListObjects("Таблица10").Range.AutoFilter _
    Field:=2, _
    Criteria1:=myArrr, _
    Operator:=xlAnd, _
    Criteria2:=Array("Время пожара", "Время происшествия", "Время ЧС", "Дата", "Штормовые")
Получаю пустой список. (Лист Microsoft Excel.xlsm)
VBA два массива в автофильтр умной таблицы, задаю 2 критерия, массивами, получаю ошибку 1004
 
Привет всем кодоводам!
Есть умная таблица (не однородная) с заголовками внутри. Создаю форму с 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.
Изменено: Chimichangi - 03.05.2017 07:59:53
Страницы: 1
Наверх