Fiz como vc disse e coloquei o DoEvents , ficou assim:
Private Sub txb_qtde1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
DoEvents
txb_cod2.Visible = True
Dim retorno
If bCanceled Then
bCanceled = False
Exit Sub
End If
txb_soma1 = Format(txb_soma1, "#,##0.00")
If txb_qtde1 = "" Or txb_qtde1 = 0 Then
retorno = MsgBox("Digite a Quantidade", vbRetryCancel, "Digite a Quantidade")
If retorno = vbRetry Then
txb_qtde1.SetFocus
Cancel = True
Else
If retorno = vbCancel Then
bCanceled = True
Me.txb_prod1.Value = ""
Me.txb_marca1.Value = ""
Me.txb_unit1 = ""
Me.txb_cod1.Value = ""
txb_cod2.Visible = False
'Me.txb_cod1.SetFocus
End If
End If
End If
If txb_qtde1 <> 0 And txb_qtde1 <> "" Then
txb_total.Value = txb_soma1
txb_soma2.Visible = True
txb_qtde2.Visible = True
txb_prod2.Visible = True
txb_marca2.Visible = True
txb_unit2.Visible = True
Me.txb_cod2.SetFocus
End If
End Sub
Porem quando clico em limparDados que está com o codigo:
Private Sub LimparVend_Click()
On Error Resume Next
If Me.MultiPage1.Value = 0 Then
Me.txb_cod1 = Empty
Me.txb_cod2 = Empty
Me.txb_cod3 = Empty
Me.txb_cod4 = Empty
Me.txb_cod5 = Empty
Me.txb_cod6 = Empty
Me.txb_cod7 = Empty
Me.txb_cod8 = Empty
Me.txb_cod9 = Empty
Me.txb_cod10 = Empty
Me.txb_prod1 = Empty
Me.txb_prod2 = Empty
Me.txb_prod3 = Empty
Me.txb_prod4 = Empty
Me.txb_prod5 = Empty
Me.txb_prod6 = Empty
Me.txb_prod7 = Empty
Me.txb_prod8 = Empty
Me.txb_prod9 = Empty
Me.txb_prod10 = Empty
Me.txb_marca1 = Empty
Me.txb_marca2 = Empty
Me.txb_marca3 = Empty
Me.txb_marca4 = Empty
Me.txb_marca5 = Empty
Me.txb_marca6 = Empty
Me.txb_marca7 = Empty
Me.txb_marca8 = Empty
Me.txb_marca9 = Empty
Me.txb_marca10 = Empty
Me.txb_qtde1 = Empty
Me.txb_qtde2 = Empty
Me.txb_qtde3 = Empty
Me.txb_qtde4 = Empty
Me.txb_qtde5 = Empty
Me.txb_qtde6 = Empty
Me.txb_qtde7 = Empty
Me.txb_qtde8 = Empty
Me.txb_qtde9 = Empty
Me.txb_qtde10 = Empty
Me.txb_unit1 = Empty
Me.txb_unit2 = Empty
Me.txb_unit3 = Empty
Me.txb_unit4 = Empty
Me.txb_unit5 = Empty
Me.txb_unit6 = Empty
Me.txb_unit7 = Empty
Me.txb_unit8 = Empty
Me.txb_unit9 = Empty
Me.txb_unit10 = Empty
Me.txb_soma1 = Empty
Me.txb_soma2 = Empty
Me.txb_soma3 = Empty
Me.txb_soma4 = Empty
Me.txb_soma5 = Empty
Me.txb_soma6 = Empty
Me.txb_soma7 = Empty
Me.txb_soma8 = Empty
Me.txb_soma9 = Empty
Me.txb_soma10 = Empty
Me.txb_total = Empty
LimparVend.Enabled = False
LLimpar.Enabled = False
BtProcessarVend.Enabled = False
LProcessarvend.Enabled = False
txb_soma2.Visible = False
txb_qtde2.Visible = False
txb_prod2.Visible = False
txb_marca2.Visible = False
txb_unit2.Visible = False
txb_cod2.Visible = False
txb_soma3.Visible = False
txb_qtde3.Visible = False
txb_prod3.Visible = False
txb_marca3.Visible = False
txb_unit3.Visible = False
txb_cod3.Visible = False
txb_soma4.Visible = False
txb_qtde4.Visible = False
txb_prod4.Visible = False
txb_marca4.Visible = False
txb_unit4.Visible = False
txb_cod4.Visible = False
txb_soma5.Visible = False
txb_qtde5.Visible = False
txb_prod5.Visible = False
txb_marca5.Visible = False
txb_unit5.Visible = False
txb_cod5.Visible = False
txb_soma6.Visible = False
txb_qtde6.Visible = False
txb_prod6.Visible = False
txb_marca6.Visible = False
txb_unit6.Visible = False
txb_cod6.Visible = False
txb_soma7.Visible = False
txb_qtde7.Visible = False
txb_prod7.Visible = False
txb_marca7.Visible = False
txb_unit7.Visible = False
txb_cod7.Visible = False
txb_soma8.Visible = False
txb_qtde8.Visible = False
txb_prod8.Visible = False
txb_marca8.Visible = False
txb_unit8.Visible = False
txb_cod8.Visible = False
txb_soma9.Visible = False
txb_qtde9.Visible = False
txb_prod9.Visible = False
txb_marca9.Visible = False
txb_unit9.Visible = False
txb_cod9.Visible = False
txb_soma10.Visible = False
txb_qtde10.Visible = False
txb_prod10.Visible = False
txb_marca10.Visible = False
txb_unit10.Visible = False
txb_cod10.Visible = False
Me.txb_cod1.SetFocus
End If
If Me.MultiPage1.Value = 1 Then
CmdLimpar_Click
End If
End Sub
Retorna a MsgBox("Digite a Quantidade", ao invés de cancelar a "rodagem" do Private Sub txb_qtde1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
No código Fechar
Private Sub Fechar_Click()
End
Unload FrPrincipal
Sheets("Menu Inicial").Select
End Sub
Funciona ; porem é com end e isso faz fechar o userform ; neste caso blz pois eu estou pedindo para fechar , mas no caso anterior não posso usar o end pois não desejo sair do userform.
Para conferir , clicar na imagem escolher um produto , não digitar a quantidade e clicar em LIMPAR_DADOS
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 29/07/2012 5:58 pm