Inquiridor
Excel não fecha no X após o comando userform terminate

Pergunta
-
Em uma planilha excel e através de um botão, chamo um userform para cadastro ou atualização de pessoas; esse form inseri ou atualiza uma linha em outra planilha e até ai tudo bem.
O problema acontece quando coloco qualquer comando no Userform_Terminate e executo o form, pois ao fechar o form pelo botão X (vermelho) do canto superior direito; a ação acontece normalmente (salva e fecha a planilha que contém os dados), mas o botão X do excel (canto superior direito) perde a funcionalidade (não fecha o excel).
meu comando do terminate se abaixo e gostaria de saber se preciso colocar mais alguma coisa para complementar a ação.
Private Sub UserForm_Terminate()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Subdesde já obrigado.
Todas as Respostas
-
-
-
-
-
Rodrigo, o erro ocorre quando tem mais de uma pasta de trabalho aberta?
Tenta mudar de ActiveWorkbook para ThisWorkbook.
Assim, especifica qual pasta de trabalho é.
- Editado matmendes sexta-feira, 20 de novembro de 2015 17:20 Erro na digitação
-
O erro ocorre quando tem mais de uma pasta aberta!
preciso usar o comando para fechar a segunda pasta e se eu utilizar o ThisWorkbook ele fecha a primeira a qual quero manter aberta.
Estive pesquisando bastante sobre esse problema e existem muitas ocorrências como esta sem resolução. Estou para mudar a rotina do processo.
-
Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.
---
Você deve atribuir a uma variável qual é a segunda pasta de trabalho. Por exemplo:
Dim aWorkbook As Workbook Private Sub UserForm_Initialize() Set aWorkbook = Workbooks.Open("c:\caminho\pasta_de_trabalho.xlsx") End Sub Private Sub UserForm_Terminate() aWorkbook.Close SaveChanges:=False End Sub
http://www.ambienteoffice.com.br - http://www.clarian.com.br
- Sugerido como Resposta Ticiano Lage segunda-feira, 23 de novembro de 2015 18:01
-
Obrigado pela resposta! mas continua o problema.
pelo que estive consultando o problema está no fechamento do arquivo que é aberto pelo comando Workbooks.Open Filename:=ThisWorkbook.Path & "\motoristas.xlsx".
pergunta: como deve ficar o fechamento para o arquivo que foi aberto através deste comando? obs. o caminho não pode ser fixo.
logo abaixo segue meu código.
Private Sub UserForm_Initialize() Workbooks.Open Filename:=ThisWorkbook.Path & "\motoristas.xlsx" Sheets("Motoristas").Select txt_usuário = Environ("username") & " - " & Date If Me.txt_cpf = "" Then Me.btn_cadastro.Enabled = False End If If Me.txt_cpf = "" Then Me.btn_Excluir.Enabled = False End If end sub
-