Очистить содержимое диапазона, включая отфильтрованные данные VBA - PullRequest
0 голосов
/ 12 марта 2020

Я использую следующее утверждение для удаления содержимого ячеек в диапазоне, но не удается удалить содержимое отфильтрованных ячеек:

wbMM.Sheets("SS 18 MESES").Range("A:A").Clear

Есть идеи, как это исправить?

Спасибо,

Ответы [ 3 ]

0 голосов
/ 12 марта 2020

Можете ли вы сначала удалить фильтрацию?

With wbMM.Sheets("SS 18 MESES")
    If .FilterMode Then
        .ShowAllData
    End If

    .Range("A:A").Clear
End With
0 голосов
/ 12 марта 2020

Не используйте "A:A" Установите Range, Autofilter, затем l oop через каждую ячейку в диапазоне и очистите.

Dim rng As Range: Set rng = ThisWorkbook.Sheets("Sheet1").Range("A2", Range("A" & Rows.Count).End(xlUp))

    With rng
        .AutoFilter 1, "x"

        For Each cel In rng
            cel.Clear
        Next cel
    End With
0 голосов
/ 12 марта 2020

Это будет иметь тот же эффект, что и очистка ячеек:

Sub KillA()
        Columns("A:A").Select
        Selection.Delete Shift:=xlToLeft
        Selection.Insert Shift:=xlToRight
End Sub

В результате вы получите пустой столбец A .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...