Я пытаюсь отфильтровать таблицу Excel, используя VBA, для необязательных значений. Сначала я фильтрую по определенной дате, затем пытаюсь получить уникальные значения в столбцах L
, H
и Q
. Мой подход, подробно описанный ниже, работает правильно только для столбца L. Когда я копирую и вставляю уникальные значения столбцов H и Q, он не берет значения фильтра из этих столбцов, а скорее все нефильтрованные значения в этих столбцах. Любой указатель будет оценен.
With ActiveSheet.Range("Reconcile_Data")
.AutoFilter Field:=9, Criteria2:=Array(2, Format(var1(i, 1), "yyyy-mm-dd")), Operator:=xlFilterValues
Range("L:L").SpecialCells(xlCellTypeConstants).Resize(, 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Uniques").Range("B1"), Unique:=True
End With
With ActiveSheet.Range("Reconcile_Data")
.AutoFilter Field:=9, Criteria2:=Array(2, Format(var1(i, 1), "yyyy-mm-dd")), Operator:=xlFilterValues
Range("H:H").SpecialCells(xlCellTypeConstants).Resize(, 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Uniques").Range("C1"), Unique:=True
End With
With ActiveSheet.Range("Reconcile_Data")
.AutoFilter Field:=9, Criteria2:=Array(2, Format(var1(i, 1), "yyyy-mm-dd")), Operator:=xlFilterValues
Range("Q:Q").SpecialCells(xlCellTypeConstants).Resize(, 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Uniques").Range("D1"), Unique:=True
End With