none
O método Delete da classe Range falhou RRS feed

  • Pergunta

  • Olá, estou tentando deletar linhas que foram filtradas em uma tabela e para isso, estou usando o comando "Selecionar células visíveis" após selecioná-las, pois se não faço isso, ao deletar as linhas, todas as outras que estavam ocultas na filtragem, são apagadas também. Outro comando que utilizo é o "Usar Referências Relativas", pois as linhas que terei que apagar não iniciam sempre na mesma linha quando volto a fazer a filtragem.

    Quando coloco isso na macro, o código fica assim:

    '''

    Sub eliminar2()
        ActiveWindow.ScrollColumn = 1
        Range("Tabela5[[#Headers],[Organização]]").Select
        ActiveCell.Offset(9, 0).Range("A1").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        Selection.SpecialCells(xlCellTypeVisible).Select
        Selection.EntireRow.Delete
    End Sub

    '''


    Entretanto, a seguinte mensagem aparece quando tento rodar a macro: 

    "Erro em tempo de execução '1004':

    O método Delete da classe Range falhou"

    Também tentei fazer o código sem utilizar o comando "Usar Referências Relativas" conforme abaixo e deu certo, entretanto, ele sempre vai está considerando uma célula específica. Então acredito que o problema não seja o comando "Selecionar células visíveis", mas sim o "Usar Referências Relativas" que não estou sabendo utilizar.

    '''

    Sub eliminar()
        Range("B16").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        Selection.SpecialCells(xlCellTypeVisible).Select
        Selection.EntireRow.Delete
    End Sub

    '''

    Ainda sou bem leigo em VBA. Poderiam me ajudar?

    terça-feira, 23 de junho de 2020 01:26

Todas as Respostas