Notifications
Clear all

Fechar a planilha após clicar no botão da macro.

7 Posts
2 Usuários
0 Reactions
1,136 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Olá prezados colegas.

Tenho uma planilha com várias macros e elas são ativadas através de botões.
Gostaria de saber se existe uma forma de o usuário conseguir fechar a planilha apenas se clicar em um botão nomeado como voltar.
O motivo é que o botão voltar alinha as informações da planilha em ordem de data e produto e tem alguns usuàrios que esquece de apertar este botão antes de salvar e fechar a planilha apesar de avisar a todos os usuários para só fechar a planilha após apertar o botão voltar o pessoal acaba esquecendo...

Desde de já agradeço a todos e espero que alguém possa me ajudar.

Abraços.

 
Postado : 18/11/2013 4:56 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Fabio,

Coloque esse código dentro do código BeforeClose:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
codigo
End Sub

Assim que fechar a planilha ele executa automaticamente.

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/11/2013 6:26 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Olá Bernardo Boa Tarde.

Muito obrigado pela ajuda.

Colei meu código no local onde você indicou, porém a planilha fecha mesmo sem clicar no botão voltar.
Será que fiz corretamente?
Meu código ficou assim

 Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sub buscar()
        
        Application.ScreenUpdating = False
            Application.Calculation = xlCalculationManual

        Range("L1").Select
            Columns("A:K").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
                "N5:X6"), CopyToRange:=Range("N16:X16"), Unique:=True
                Response = MsgBox(" PRESSIONE  'SIM' PARA IMPRIMIR   OU  PRESSIONE  'NAO'  PARA APENAS CONSULTAR INFORMACOES ", vbYesNo)
        If Response = vbNo Then Exit Sub
        If Response = vbYes Then Range("L1").Select
            Range("N3:V69").Select
            ActiveWindow.View = xlPageBreakPreview
            ActiveWindow.View = xlNormalView
            Range("N3:V69").Select
            Zoom = 74
            Selection.PrintOut Copies:=1, Preview:=False, Collate:=True
            Application.Calculation = xlCalculationAutomatic
            Application.ScreenUpdating = True
                 
                   MsgBox " Found " & WorksheetFunction.CountA(Range("N17:N100")) & " Results ", vbInformation, " Search Results ** Resultado Da Pesquisa :) "


           MsgBox "PARABENS! BUSCA CONCLUIDA!ANEXAR A PAGINA DE EVIDENCIA PARA VERIFICACAO DOS DADOS**", vbInformation, " End Of Search"


              
        End Sub
  

Será que há possibilidade de fazer com que a planilha feche apenas quando for apertado o botão voltar?

Agradeço a ajuda !!

Abraços.

 
Postado : 18/11/2013 9:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Deixe assim Fabio:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Range("L1").Select
    Columns("A:K").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "N5:X6"), CopyToRange:=Range("N16:X16"), Unique:=True
        Response = MsgBox(" PRESSIONE  'SIM' PARA IMPRIMIR   OU  PRESSIONE  'NAO'  PARA APENAS CONSULTAR INFORMACOES ", vbYesNo)
If Response = vbNo Then Exit Sub
If Response = vbYes Then Range("L1").Select
    Range("N3:V69").Select
    ActiveWindow.View = xlPageBreakPreview
    ActiveWindow.View = xlNormalView
    Range("N3:V69").Select
    Zoom = 74
    Selection.PrintOut Copies:=1, Preview:=False, Collate:=True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
         
           MsgBox " Found " & WorksheetFunction.CountA(Range("N17:N100")) & " Results ", vbInformation, " Search Results ** Resultado Da Pesquisa :) "


   MsgBox "PARABENS! BUSCA CONCLUIDA!ANEXAR A PAGINA DE EVIDENCIA PARA VERIFICACAO DOS DADOS**", vbInformation, " End Of Search"

              
End Sub

Coloca em "EstaPasta_de_Trabalho"

Não será preciso clicar em botão. Assim que a planilha for fechada ela irá executar o código.

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/11/2013 10:23 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Bernardo.

Agora deu certo!!
Quando fecha a planilha executa a macro e organiza meus dados.
Valeu a ajuda!!
Você e ninja do excel mesmo.rs
Abraços.

 
Postado : 18/11/2013 11:00 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

8-)

Se quiser também pode deixar somente assim:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
     call buscar
End Sub

Que o botão irá funcionar normalmente e quando a planilha for fechada ela vai buscar o código do botão.

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/11/2013 11:28 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite Bernardo.

Testei as duas formas.
Perfeito!!
Muito obrigado!!!!!
Valeu mesmo.

Abraço.

 
Postado : 18/11/2013 6:44 pm