VBA: Макрос для реализации DrillDown не выдает запрашиваемые данные, Макрос для реализации DrillDown (проваливание как в 1С/сводной таблице) устанавливает фильтр, но отфильтрованные значения не отбираются
Столкнулась с тем, что макрос для реализации DrillDown не выдает запрашиваемые данные.
Внесла в книгу макрос, которым предполагалось фильтровать данные из реестра (плоской таблицы) путем "проваливания" из отчета. Т. е. как в сводной таблице можно провалиться и посмотреть из чего рассчитан конкретный показатель, так и здесь предполагается аналогичное.
Самое интересное, что никаких ошибок не выдает, фильтр проставляется, но значения не показываются.
Прошу помочь понять, где именно я допустила ошибку в макросе? Или может не в макросе, а где-то ещё?
Файл прикладываю. Для вызова макроса и воспроизведения ошибки перейдите на вкладке "ОДДС", встаньте на ячейку с рассчитанными значениями и нажмите "Детализация".
Sub DrillDown()
Dim R&, C&
C = ActiveCell.Column
R = ActiveCell.Row
If (C < 4) Or (C > 15) Or (R < 6) Or (R > 66) Then
MsgBox ("Выбери ячейку!")
Else
Sheets("Реестр_ДДС").Activate
With ActiveSheet.AutoFilter
.Range.AutoFilter Field:=4, Criteria1:=Sheets("ОДДС").Cells(R, 3).Value
.Range.AutoFilter Field:=7, Criteria1:=C - 3 'Format(R - 3, "00")
End With
End If
End Sub
Sub DrillDown()
Dim R&, C&, Rg1 As Range
Set Rg1 = Sheets("Реестр_ДДС").Range("$A$3")
Rg1.Parent.AutoFilterMode = False
C = ActiveCell.Column
R = ActiveCell.Row
If (C < 4) Or (C > 15) Or (R < 6) Or (R > 66) Then
MsgBox ("Выбери ячейку!")
Else
With Rg1.EntireRow
.AutoFilter 4, Cells(R, 3).Value
.AutoFilter 7, C - 3
End With
End If
Application.Goto Rg1
End Sub