Я пытаюсь ввести даты, а затем отфильтровать данные по этим двум датам. Мне удалось выяснить, как выбрать желаемые даты, но с фильтрацией не повезло. Кроме того, есть ли шанс, что я могу очистить все фильтры перед фильтром по дате? Этой книгой пользуется множество людей, и я хочу убедиться, что фильтруется только дата.
Ошибка: Ошибка времени выполнения '1004' Ошибка метода автофильтрации класса Range Моя проблема связана с строкой rngfull .Autofilter
Вот мой код:
Public Sub CreateSubsetWorkbook(StartDate As String, EndDate As String)
Dim wbkInput As Workbook, wbkOutput As Workbook
Dim wksInput As Worksheet, wks As Worksheet, wksOutput As Worksheet
Dim lngLastRow As Long, lngLastCol As Long, lngDateCol As Long
Dim rngFull As Range, rngResult As Range, rngTarget As Range
Dim Lastrow As Integer
lngDateCol = 2
Set wbkOutput = ThisWorkbook
Set wbkInput = Workbooks.Open("f:\Sharta\red files\DBr\(NEW SERVER) with Macro.xlsm")
Set wksInput = wbkInput.Sheets("Sheet1")
With wksInput
Set wksOutput = wbkOutput.Sheets("Data Dump")
Set rngTarget = wksOutput.Cells(1, 1)
lngLastRow = .Cells.Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
lngLastCol = .Cells.Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set rngFull = .Range(.Cells(1, 1), .Cells(lngLastRow, lngLastCol))
With rngFull
Range.AutoFilter Field:=lngDateCol, _
Criteria1:=">=" & StartDate, _
Criteria2:="<=" & EndDate
Set rngResult = rngFull.SpecialCells(xlCellTypeVisible)
rngResult.Copy Destination:=rngTarget
End With
.AutoFilterMode = False
If .FilterMode = True Then
.ShowAllData
End If
End With
wbkInput.Close Savechanges:=False
wksOutput.Activate
End Sub