Compartilhar via

Como eu faço para fechar um pop-up do excel usando VBA?

Anônima
2022-11-07T12:53:22+00:00

Bom dia, eu estou fazendo um macro do VBA usando uma base excel para atualizar uma planilha e no final do macro eu fecho automaticamente o arquivo que está a base de dados e toda vez que eu vou fechar o excel usando o VBA, aparece um pop-up e eu quero clicar no botão OK usando o VBA, alguém pode me ajudar?

Microsoft 365 Insider | Excel | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

2 respostas

Classificar por: Mais útil
  1. Anônima
    2022-11-08T05:01:59+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Caro JorgeGBS

    Obrigado por postar suas preocupações aqui e espero que você esteja indo muito bem.

    Estou ciente da situação atual é que você não quer que a janela pop-up apareça quando seu arquivo foi fechado. Como não conheço seu código VBA específico, aqui eu pego o código macro testado por mim mesmo como referência:

    Sub delSheet()    <br>     Dim sht As Worksheet<br>     For Each sht In Worksheets        <br>         If sht.Name <> ActiveSheet.Name Then<br>             sht.Delete<br>         End If        <br>     Next        <br> End Sub

    O código acima é usado para excluir planilhas inativas, então toda vez que eu executar este código, eu recebo o seguinte pop-up, como mostrado na figura abaixo:

    Os resultados acima podem estar próximos da sua situação, por isso adiciono uma sequência de código na linha de código VBA "Application.DisplayAlerts = False" entre a linha de código 2 e a linha 3, a seguir, a exemplo do meu VBA, apenas para referência:

    Sub delSheet()    <br>     Dim sht As Worksheet<br>     Application.DisplayAlerts = False<br>     For Each sht In Worksheets<br>         <br>         If sht.Name <> ActiveSheet.Name Then<br>             sht.Delete<br>         End If        <br>     Next    <br>     Application.DisplayAlerts = True<br> End Sub

    O código VBA excluirá essas planilhas inativas mais tarde, e não exibirá uma janela pop-up do Excel, já que a janela não pode aparecer novamente, não posso fornecer uma captura de tela do efeito.

    Claro, a chave para o código acima é desativar notificações. O código pode ser compilado de outras formas. Aqui estão algumas instruções para esta instrução do Microsoft Learn.

    Espero que ajude! sinta-se livre para postar de volta se você precisar de mais assistência.

    Chandy| Especialista em Suporte à Comunidade da Microsoft

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2023-08-28T13:45:29+00:00

    Cara, sou novo em VBA e estou com o mesmo erro. Poderia me ajudar, por favor?
    No meu caso, eu abro o excel e quero fazer o evento de refresh dele e depois fecha-lo.
    Porém aparece o mesmo primeiro print acima. E clicando em "Cancelar", ele executa a função refresh que eu preciso.

    Eu preciso então criar um novo Module2 para isso? Mas QUANDO eu chamaria ele?


    Meu código é esse

    Set objExcel = CreateObject("Excel.Application")

    objExcel.Visible = true ' Defina como True para ver a ação acontecendo

    ' Desabilita a atualização automática de conexões de dados

    objExcel.DisplayAlerts = False

    ' Abre o arquivo AGING CEA.xlsb

    Set objWorkbook = objExcel.Workbooks.Open("D:\AGING\AGING_CEA.xlsm")

    ' Chama a nova macro ChamarEventoAtualizar

    objExcel.Run "RefreshData"

    ' Salva o arquivo antes de anexar ao e-mail

    objWorkbook.Save

    ' Reabilita os alertas

    objExcel.DisplayAlerts = True

    ' Libera os objetos

    Set objMail = Nothing

    Set objOutlook = Nothing

    Set objWorkbook = Nothing

    Set objExcel = Nothing

    Module1:
    Sub RefreshData()

    ActiveWorkbook.RefreshAll 
    

    End Sub


    0 comentários Sem comentários