none
Excluir planilha da pasta de trabalho do Excel2007

    Question

  • Boa noite!

    Imaginem que eu tenho um WorkBook com 4 Sheets....Plan1,Plan2,Plan3,Plan4

    Gostaria de usar um código para excluir as Plan2,Plan3,Plan4 deixando só a Plan1..como faço isso?

    Obrigado...a todos

    zinho
    Wednesday, March 30, 2011 12:22 AM

Answers

  • Sub Deletar()
      Dim a As String
      a = InputBox("Digite as planilhas, separe com virgula")
      
      
      lista = Split(a, ",")
      
      Dim v As Boolean
      v = True
      Dim n As Integer
      n = 0
     Do While v
        On Error GoTo erros
      Sheets(lista(n)).Delete
      n = n + 1
    Loop
      
    erros:
      v = False
      Exit Sub
    End Sub
    
    

    Caio Vitullo
    • Marked as answer by zinhovba Friday, April 01, 2011 10:26 PM
    Friday, April 01, 2011 5:16 PM

All replies

  • da uma  olhada,

    Application.DisplayAlerts = False
    Dim i As Integer
    i = Sheets.Count - 1
    For n = 0 To i
      If n > 1 Then
       Sheets(n).Delete
      End If
      
    Next
    

    Caio Vitullo
    Wednesday, March 30, 2011 2:23 AM
  • Obrigado!!...Caio..mas, não deu muito certo sempre fica uma planilha sem deletar.

     

    Ex: eu tenho a Plan1, Plan2,Plan3 o código deleta a Plan2 e fica a Plan3 sendo que era para ser deletada.

     

    Gostaria de saber duas coisas se poder me ajudar.

    1º Como eu faria e exclusão Ex: Sheets("Plan1","Plan2","Plan3").delete......... algo assim seria possível dar o nome das Plans, para o código deletar?

     

    2º Como ficaria caso eu queira usar uma inputBox, para excollher a Plan que quero deletar?

     

    Obrigado!!!!!!!!! 


    zinho
    Wednesday, March 30, 2011 11:13 PM
  • voce opde deletar uma a uma:

    sheets("NomePlanilha").Delete

    ou fazer o looping como no caso anterior.

    tira o "-1" da variavel "i", vai resolver o problema.

     

    quanto ao inputBox,

    voce pode usar

    dim nome as String

    nome = InputBox("digite o nome da planilha")

    Sheets(nome).Delete


    Caio Vitullo
    Wednesday, March 30, 2011 11:23 PM
  • Consegui fazer uma coisa legal com a InputBox, mas como seria caso eu optasse por digita dentro da InputBox "Plan1","Plan2","Plan3" e então o código deletar todas que eu digitei?
    zinho
    Thursday, March 31, 2011 10:23 PM
  • Sub Deletar()
      Dim a As String
      a = InputBox("Digite as planilhas, separe com virgula")
      
      
      lista = Split(a, ",")
      
      Dim v As Boolean
      v = True
      Dim n As Integer
      n = 0
     Do While v
        On Error GoTo erros
      Sheets(lista(n)).Delete
      n = n + 1
    Loop
      
    erros:
      v = False
      Exit Sub
    End Sub
    
    

    Caio Vitullo
    • Marked as answer by zinhovba Friday, April 01, 2011 10:26 PM
    Friday, April 01, 2011 5:16 PM
  • Cara valeu!..Muito obrigado!!....legal..kkkkkkkk
    zinho
    Friday, April 01, 2011 10:26 PM