Ir ao conteúdo
  • Cadastre-se

Excel colocar uma condicao "IF' na execução de uma macro


Ir à solução Resolvido por Janilson Brito,

Posts recomendados

Senhores, bom dia!

precisando de mais uma ajuda de vocês. E desde já, agradeço muito a ajuda.

 

Estou tentando inserir uma condicao de erro em uma macro VBA.

O que eu preciso: Abrir um arquivo variavel e ir para determinada planiha (aba) tambem variavel.

Até ai ja consegui. O que não estou conseguindo fazer, caso a planilha (aba) não exista, salva e fecha o arquivo.

Caso exista a planilha (aba) deletar a mesma.

Segue abaixo o codigo que estou tentando utilizar

 

Sub deletaplanilha()


    Dim myArqName As Variant
    Dim mySheetName As Variant
    myArqName = InputBox("Digite o Mês e Ano sem espaço: Ex: novembro2022")
    mySheetName = InputBox("Digite o nome da planilha - Ex: 2410-3010")
    
    Workbooks.Open ("C:\OcorrenciasOpen" & myArqName & ".xlsx")
    Windows("OcorrenciasOpen" & myArqName & ".xlsx").Activate
    
    Sheets(mySheetName).Select
        On Error Resume Next
        mySheetNameTest = Worksheets(mySheetName).Name
        If Err.Number = 0 Then
            MsgBox "A planilha com o nome ''" & mySheetName & "'' não existe nesta pasta de trabalho."
        Else
            Err.Clear
            ActiveWorkbook.Save
            ActiveWindow.Close
        End If

    ActiveWindow.SelectedSheets.Delete
    
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
 

Link para o comentário
Compartilhar em outros sites

@Janilson Brito Antes de abrir o arquivo pode ter outra condição para verificar se existe. E a condição para avisar que a aba não existe é quando o erro for diferente de zero.

 

Sub AbrePlanilha()
    Dim NomeArq As String
    Dim NomeAba As String
    Dim Arquivo As String
    
    NomeArq = InputBox("Digite o Mês e Ano sem espaço: Ex: novembro2022")
    Arquivo = "C:\OcorrenciasOpen\" & NomeArq & ".xlsx"
    
    If Dir(Arquivo) = "" Then
        MsgBox "O arquivo " & NomeArq & " não existe", vbExclamation
    Else
        Dim Pasta As Workbook
        NomeAba = InputBox("Digite o nome da planilha - Ex: 2410-3010")
    
        Set Pasta = Workbooks.Open(Arquivo)
        
        On Error Resume Next
        Pasta.Sheets(NomeAba).Activate
        
        If Err.Number <> 0 Then
            MsgBox "A planilha com o nome ''" & NomeAba & _
                "'' não existe nesta pasta de trabalho.", vbExclamation
        Else
            Application.DisplayAlerts = False
            Pasta.Sheets(NomeAba).Delete
            Application.DisplayAlerts = True
        End If
        Err.Clear
        Call Pasta.Close(SaveChanges:=True)
    End If
End Sub

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução
4 horas atrás, Midori disse:

@Janilson Brito Antes de abrir o arquivo pode ter outra condição para verificar se existe. E a condição para avisar que a aba não existe é quando o erro for diferente de zero.

 

Sub AbrePlanilha()
    Dim NomeArq As String
    Dim NomeAba As String
    Dim Arquivo As String
    
    NomeArq = InputBox("Digite o Mês e Ano sem espaço: Ex: novembro2022")
    Arquivo = "C:\OcorrenciasOpen\" & NomeArq & ".xlsx"
    
    If Dir(Arquivo) = "" Then
        MsgBox "O arquivo " & NomeArq & " não existe"
    Else
        Dim Pasta As Workbook
        NomeAba = InputBox("Digite o nome da planilha - Ex: 2410-3010")
    
        Set Pasta = Workbooks.Open(Arquivo)
        
        On Error Resume Next
        Pasta.Sheets(NomeAba).Activate
        
        If Err.Number <> 0 Then
            MsgBox "A planilha com o nome ''" & NomeAba & _
                "'' não existe nesta pasta de trabalho."
        Else
            Application.DisplayAlerts = False
            Pasta.Sheets(NomeAba).Delete
            Application.DisplayAlerts = True
        End If
        Err.Clear
        Call Pasta.Close(SaveChanges:=True)
    End If
End Sub

 

Mais uma vez, muito obrigado Midori, ficou ate melhor do que eu estava tentando fazer

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!