17-08-2013, 23:54
Olá amigos,
Sou novo no Fórum e na vida de programação em VBA. Estou desenvolvendo um projeto que fará o controle de talões de cheques. Tudo está funcionado mas, pela lógica da utilização, terei que mudar a forma de pesquisa. E é isso que não estou conseguindo. Abaixo estará o código. O sistema está buscando pelo número do registro do cheque. Mas deve buscar pelo número do cheque. Levando em consideração que é possível ter conta em vários bancos, esse pesquisa deve ser também pelo banco. Está ficará com duas variáveis para pesquisa: número do cheque e banco. Da forma como está, somente fa a pesquisa pelo número do registro da folha. Segue o código que fiz somente com a pesquisa(vlookup) por código:
Private Sub txtOrdem_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo trata
Dim cod As Single
cod = txtOrdem
txtFolha = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 2, 0)
cmbConta_banco = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 3, 0)
txtFavorecido = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 4, 0)
txtdata = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 5, 0)
txtValor = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 6, 0)
txtdata = Format(txtdata, "DD/MM/YYYY")
txtValor = Format(txtValor, "R$ #,##0.00")
If lblCoringa = "CONSULTAR" Then
txtFolha.Enabled = False
End If
If lblCoringa = "ALTERAR" Then
txtOrdem.Enabled = False
txtFolha.Enabled = False
cmbConta_banco.Enabled = False
txtFavorecido.Enabled = True
txtdata.Enabled = True
txtValor.Enabled = True
btnOk.Enabled = True
btnCancelar.Enabled = True
'txtFavorecido.SetFocus
End If
If lblCoringa = "EXCLUIR" Then
txtOrdem.Enabled = False
End If
Exit Sub
trata: MsgBox "CHEQUE NÃO CADASTRADO", vbInformation, "ATENÇÃO"
End Sub
Sou novo no Fórum e na vida de programação em VBA. Estou desenvolvendo um projeto que fará o controle de talões de cheques. Tudo está funcionado mas, pela lógica da utilização, terei que mudar a forma de pesquisa. E é isso que não estou conseguindo. Abaixo estará o código. O sistema está buscando pelo número do registro do cheque. Mas deve buscar pelo número do cheque. Levando em consideração que é possível ter conta em vários bancos, esse pesquisa deve ser também pelo banco. Está ficará com duas variáveis para pesquisa: número do cheque e banco. Da forma como está, somente fa a pesquisa pelo número do registro da folha. Segue o código que fiz somente com a pesquisa(vlookup) por código:
Private Sub txtOrdem_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo trata
Dim cod As Single
cod = txtOrdem
txtFolha = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 2, 0)
cmbConta_banco = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 3, 0)
txtFavorecido = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 4, 0)
txtdata = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 5, 0)
txtValor = Application.WorksheetFunction.VLookup(cod, Plan2.Range("A:Z"), 6, 0)
txtdata = Format(txtdata, "DD/MM/YYYY")
txtValor = Format(txtValor, "R$ #,##0.00")
If lblCoringa = "CONSULTAR" Then
txtFolha.Enabled = False
End If
If lblCoringa = "ALTERAR" Then
txtOrdem.Enabled = False
txtFolha.Enabled = False
cmbConta_banco.Enabled = False
txtFavorecido.Enabled = True
txtdata.Enabled = True
txtValor.Enabled = True
btnOk.Enabled = True
btnCancelar.Enabled = True
'txtFavorecido.SetFocus
End If
If lblCoringa = "EXCLUIR" Then
txtOrdem.Enabled = False
End If
Exit Sub
trata: MsgBox "CHEQUE NÃO CADASTRADO", vbInformation, "ATENÇÃO"
End Sub