edsudani Posted February 26, 2012 at 09:35 PM Report Share #441247 Posted February 26, 2012 at 09:35 PM Boa tarde Por favor observem o código abaixo. Ao executá-lo tudo corre bem para alterar qualquer valor da listbox e gravá-lo na planilha. Porém quando clico no botão cancelar do InputBox, o aplicativo é fechado abruptamente como se houvesse o comando "xlApp.Quit". O botão cancelar deveria fechar apenas o InputBox e jamais o aplicativo. Isso acontece após a inserção da linha (Application.Visible = False) no código abaixo. Se removê-la o procedimento corre como previsto. Private Sub Workbook_Open() 'Ao clicar no ícone Relatório Financeiro.xls, 'obrigatoriamente ocultará a planilha _ 'e abrirá o formulário FrmRecibos. Application.Visible = False FrmRecibos.Show End Sub ________________________________________________________________ 'O código abaixo está num form. Option Explicit Dim RetornoSalvar As Boolean Dim r_OM As Long Dim TotalLinhas_OM As Long Dim Total_OM As String Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo Caracter_Errado Dim n1 As String Dim n3 As Boolean n3 = 0 'Detecta linha vasia na listbox e sai do procedimento. If ListBox1.List(ListBox1.ListIndex) = Empty Then If MsgBox("Você clicou na linha errada." & vbCrLf & _ "Clique duas vezes somente onde houver um valor escrito", _ vbOKOnly, " LINHA SEM VALOR") = vbOK Then n3 = False Exit Sub End If End If 'Corrige o valor de uma linha da listbox e grava na 'célula correspondente da planilha. Linhas: If ListBox1.List(ListBox1.ListIndex) Then n1 = Application.InputBox(" DIGITE O NOVO VALOR NA FAIXA BRANCA", " ALTERANDO UM DONATIVO") If n1 = "" Then MsgBox "Para CORRIGIR você deve preencher a caixa de texto." _ & Chr(13) & "Para SAIR precione CANCELAR", _ 0 + 64, " ATENÇÃO." GoTo Linhas ElseIf n1 = False Then n3 = False Exit Sub Else ListBox1.List(ListBox1.ListIndex) = n1 Cells(ListBox1.ListIndex + 1, "A") = CDbl(ListBox1) n3 = True End If End If If n3 = False Then RetornoSalvar = False Else RetornoSalvar = True End If Caracter_Errado: If Err = 13 Then If MsgBox("LETRAS NÃO VALEM." & vbCrLf & _ "ESCREVA SOMENTE NÚMEROS", _ vbOKOnly + 48, " DADOS INCORRETOS") = vbOK Then Resume Linhas End If End If 'Atualiza o valor da caixa de texto após a correção. FRM_OM.TextBox1 = Worksheets("plan1").Range("A94").Value End Sub Como posso resolver este problema? Grato Edison Link to comment Share on other sites More sharing options...
jnabais Posted February 28, 2012 at 08:59 AM Report Share #441428 Posted February 28, 2012 at 08:59 AM Olá! E que tal introduzires uma linha - no botão cancelar - com a instrução contrária "Application.Visible = True"... Bom Trabalho. Link to comment Share on other sites More sharing options...
edsudani Posted March 4, 2012 at 03:28 PM Author Report Share #442154 Posted March 4, 2012 at 03:28 PM Obrigado pelo retorno jnabais,mas aplicar sua sugestão... Olá! E que tal introduzires uma linha - no botão cancelar - com a instrução contrária "Application.Visible = True"... faz retornar a planilha embora o aplicativo não feche. Meu objetivo é trabalhar com a planilha oculta para evitar danos ao aplicativo. Provavelmente há algum erro em meu código com respeito ao valor de retorno para o botão cancelar do InputBox. -- Não consigo encerrar apenas o procedure em questão (Exit Sub). Se alguém puder me ajudar agradeço. Edison Link to comment Share on other sites More sharing options...
edsudani Posted March 10, 2012 at 04:07 PM Author Report Share #443333 Posted March 10, 2012 at 04:07 PM Ninguém mais? Só uma sugestão? Edison Link to comment Share on other sites More sharing options...
acao Posted March 10, 2012 at 07:02 PM Report Share #443348 Posted March 10, 2012 at 07:02 PM Linhas: ElseIf n1 = False Then a variavel n1 é uma string e está a tornala boleana, penso que será aqui o erro coloca assim Elseif n1 <> "" Then . senão tenta eliminar o botão cancelar. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now