none
Excluir planilha do worksheet atual RRS feed

  • Pergunta

  • Boa tarde, preciso excluir uma planilha por meio de uma macro. O problema é que eu posso não saber qual é o nome dela, já que ela pode ser renomeada, e não sei a posição dela no workbook, pois outras planilhas são adicionadas. Então nao posso usar

    CType(Me.Application.ActiveWorkbook.Sheets(4), Excel.Worksheet).Delete()

     É possível, ao apertar um botão, a macro reconhece que é para excluir a planilha que está sendo exibida no momento? Todas as planilhas terão a mesma macro, mas somente a que o botão é apertado deve ser excluída. É um workbook bem dinâmico, e planilhas novas são inseridas a todo momento, mas gostaria de excluir algumas através de macro.

    Obrigado!

    terça-feira, 28 de janeiro de 2014 18:59

Respostas

  • O objeto ActiveSheet retorna a planilha ativa.

    ActiveSheet.Delete

    No entanto, se você quiser desabilitar as notifficações do Excel temporariamente só para excluir uma planilha, use:

    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Mmbr quinta-feira, 30 de janeiro de 2014 18:09
    terça-feira, 28 de janeiro de 2014 22:47
    Moderador

Todas as Respostas

  • Sua dúvida é mesmo em VBA?

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 28 de janeiro de 2014 21:19
    Moderador
  • Desculpe.. peguei o código em C.. Mas a explicação do problema é para vba sim..

    Sheets("Sheet1").Select ActiveWindow.SelectSheets.Delete

    Entende que não posso selecionar "Sheet1" pois eu nao sei o nome da planilha que estou deletando. Não tem um modo de apagar a planilha que está selecionada no momento? 

    Obrigado e desculpe pelo post anterior.

    terça-feira, 28 de janeiro de 2014 22:24
  • O objeto ActiveSheet retorna a planilha ativa.

    ActiveSheet.Delete

    No entanto, se você quiser desabilitar as notifficações do Excel temporariamente só para excluir uma planilha, use:

    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Mmbr quinta-feira, 30 de janeiro de 2014 18:09
    terça-feira, 28 de janeiro de 2014 22:47
    Moderador