Ошибка VBA: невозможно получить свойство AutoFilter класса Range - PullRequest
0 голосов
/ 07 марта 2020

Я получаю Ошибка времени выполнения 1004 - Невозможно получить свойство AutoFilter класса Range только в одном файле.

У меня есть два файла Excel.

Первый первый содержит данные, которые были вставлены из другого источника, и приведенный ниже код отлично работает с этим файлом.

Однако не работает с вторым файлом, который содержит точно такие же данные. Разница в том, что данные во втором файле загружаются Power Query.

У вас есть идеи, почему приведенный ниже код не работает для второго файла?

Sub AutoFilter()


Dim dataRows As Range


Dim LR As Long
LR = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
Dim LC As Long
LC = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
        Set dataRows = Sheet1.Range(Cells(1, 1), Cells(LR, LC))

Sheet1.Activate
If Not Sheet1.AutoFilterMode Then Sheet1.UsedRange.AutoFilter
 If Sheet1.Cells.AutoFilter Then Sheet1.Cells.AutoFilter

    'sort your table, the loop is easier to manage if your data is in a useful order
    With ActiveSheet.AutoFilter.Sort
        .SortFields.Clear
        .SortFields.Add2 Key:=dataRows.Columns(2)
        .SortFields.Add2 Key:=dataRows.Columns(4)
        .Apply 'the error occurs at this point when trying to apply the filter
    End With

End Sub
...