Pessoal,
Possuo um formulário, com Validação de Dados (ComboBox) e uma função PROC. E inseri os dados em uma planilha, contudo ao clicar em "Lançar" busco limpar os campos TextBox para o usuário lançar novamente, só que está dando um erro.
- Funcionou em outras planilhas, mas as outras não possuiu a função PROC, por isso penso ser a origem dos problemas.
- Segue o código abaixo e um imagem do formulário.
- O registro (lançamento) foi feito corretamente.
- Quanto tiro o código de limpar os campos textbox o formulário funcioca.
Private Sub Form_EstoqueEnt_TxtBox1_Change()
Form_EstoqueEnt_TxtBox2 = Application.WorksheetFunction.Lookup(Form_EstoqueEnt_TxtBox1.Value, Worksheets("PRODUTO_DB").Range("C2:C1048576"), Worksheets("PRODUTO_DB").Range("A2:A1048576"))
Form_EstoqueEnt_TxtBox3 = Application.WorksheetFunction.Lookup(Form_EstoqueEnt_TxtBox1.Value, Worksheets("PRODUTO_DB").Range("C2:C1048576"), Worksheets("PRODUTO_DB").Range("D2:D1048576"))
Form_EstoqueEnt_TxtBox4 = Application.WorksheetFunction.Lookup(Form_EstoqueEnt_TxtBox1.Value, Worksheets("PRODUTO_DB").Range("C2:C1048576"), Worksheets("PRODUTO_DB").Range("G2:G1048576"))
End Sub
Private Sub Form_ForCad_Button_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("ESTOQUE_DB")
'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
'check for a part number
If Trim(Me.Form_EstoqueEnt_TxtBox1.Value) = "" Then
Me.Form_EstoqueEnt_TxtBox1.SetFocus
MsgBox "Ops! Acho que você esqueceu o Nome do Produto."
Exit Sub
End If
If Trim(Me.Form_EstoqueEnt_TxtBox5.Value) = "" Then
Me.Form_EstoqueEnt_TxtBox5.SetFocus
MsgBox "Ops! Acho que você esqueceu a Quantidade."
Exit Sub
End If
If Trim(Me.Form_EstoqueEnt_TxtBox6.Value) = "" Then
Me.Form_EstoqueEnt_TxtBox6.SetFocus
MsgBox "Ops! Acho que você esqueceu o Tipo: Entrada/Saída."
Exit Sub
End If
'copy the data to the database
'use protect and unprotect lines,
' with your password
' if worksheet is protected
With ws
' .Unprotect Password:="password"
.Cells(iRow, 1).Value = Me.Form_EstoqueEnt_TxtBox1.Value
.Cells(iRow, 2).Value = Me.Form_EstoqueEnt_TxtBox2.Value
.Cells(iRow, 3).Value = Me.Form_EstoqueEnt_TxtBox3.Value
.Cells(iRow, 4).Value = Me.Form_EstoqueEnt_TxtBox4.Value
.Cells(iRow, 5).Value = Me.Form_EstoqueEnt_TxtBox5.Value
.Cells(iRow, 6).Value = Me.Form_EstoqueEnt_TxtBox6.Value
' .Protect Password:="password"
End With
'clear the data
Me.Form_EstoqueEnt_TxtBox1.Value = ""
Me.Form_EstoqueEnt_TxtBox2.Value = ""
Me.Form_EstoqueEnt_TxtBox3.Value = ""
Me.Form_EstoqueEnt_TxtBox4.Value = ""
Me.Form_EstoqueEnt_TxtBox5.Value = ""
Me.Form_EstoqueEnt_TxtBox6.Value = ""
Me.Form_EstoqueEnt_TxtBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
'Validação Lista Produtos
For Each blah In [ListaProdutos]
Me.Form_EstoqueEnt_TxtBox1.AddItem blah
Next blah
'Tipo Entrada/Saída
With Form_EstoqueEnt_TxtBox6
.AddItem "Entrada"
.AddItem "Saída"
End With
End Sub
Desde já agradeço!
=D
Postado : 25/11/2015 11:19 am