Ir ao conteúdo

Posts recomendados

Postado

Boa tarde

 

No código abaixo foi gerado uma caixa de mensagem que se eu clicar em Sim, ela reexibe duas abas, nessa parte do código não tem problema, porém se na caixa de mensagem eu clicar em Não a planilha deveria ocultar duas abas (aba Scopo e Instruções) porém se essas abas já estiverem ocultas na minha planilha o código gera erro. Eu gostaria que ao abrir a planilha (arquivo de excel) já aparecesse inicialmente uma caixa de mensagem para responder Sim ou Não e que o erro gerado no código( na caixa de mensagem, se eu clicar em Não a planilha deveria ocultar duas abas, Scopo e Instruções) , seja feito nada, ou seja, se o código der erro ele finaliza sem nenhuma mensagem, se não der erro ele oculta as abas.

 

Segue planilha de exemplo em anexo. Mudei a extensão para conseguir inserir o arquivo 

 

Código

Sub MacroMsg()
'
' MacroMsg Macro
'

 Dim resultado As VbMsgBoxResult
     resultado = MsgBox("Você irá fazer alguma atualização?", vbYesNo, "Tomando uma decisão")
     If resultado = vbYes Then
   
          Sheets("Dash").Select
    Sheets("Scopo").Visible = True
    Sheets("Scopo").Select
    Sheets("Instruções").Visible = True
    Sheets("dash").Select
    Range("b1").Select
     Else
     
        Sheets("Dash").Select
    Range("B1").Select
    Sheets(Array("Scopo", "Instruções")).Select
        Sheets("Instruções").Activate
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Dados").Select
    Range("Tabela1[[#Headers],[Placa]]").Select
    Selection.End(xlDown).Select
    Sheets("Dash").Select
    Range("B1").Select
    
            
       End If
     End Sub
 

Pasta1.xlsx

Postado

@Luis Geraldo  Para executar a macro ao abrir a planilha chame a sub no evento Workbook Open em EstaPastaDeTrabalho,

 

Private Sub Workbook_Open()
    Call MacroMsg
End Sub

Para não exibir nenhuma mensagem de erro você pode usar On Error Resume Next no início da Sub (Ou se quiser ser mais específico On Error Goto LABEL). Com resume next as primeiras linhas ficam assim,

 

 Sub MacroMsg()
'
' MacroMsg Macro
'
On Error Resume Next

 Dim resultado As VbMsgBoxResult
 

 

Postado

@Midori  As macros deram certo, porém está ativando o anti vírus com o nome Suspicious.Macro.Ld, sabe como desativar isso pela macro ou inserir uma macro para não gerar essa ativação do Anti vírus, pois precisarei enviar o arquivo via e-maill.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!