Caríssimos, fiz uma macro por trás de um botão de um UseForm para buscar dados em duas planilhas diferentes e listá-los nas próprias TextBoxes do UseForm. Com relação à primeira planilha, vem tudo certo, mas da segunda planilha quero o CPF, e sempre dá erro. Já estou queimando a caxola desde sábado nessa macro. Podem me ajudar? Qual o erro?
Private Sub CmdBuscar_Click()
Dim busca, busca1 As Range
Dim msg As String
Dim wsr, wsc As Worksheet
Set wsr = Worksheets("Relação")
Set wsc = Worksheets("Contribuições")
wsr.Unprotect Password:="xxxxxx"
wsc.Unprotect Password:="xxxxxx"
If FormCadastro.TxtNome.Value = "" Then
msg = "A busca é feita pelo nome. Favor tente novamente." 'Como eu aproveitei o próprio form para fazer a busca, se o usuário tentar buscar por algo que não seja o nome a mensagem aparece'
MsgBox msg, vbCritical + vbOKOnly
TxtNome.Value = ""
TxtMatr.Value = ""
TxtDtNasc.Value = ""
TxtCPF.Value = ""
Txtadm.Value = ""
TxtNome.SetFocus
Else
wsc.Select
With wsc.Range("TabContribuições[Nome]")
Set busca = .Find(TxtNome.Value)
With Range(busca.Address)
TxtNome.Value = .Offset(0, 0)
TxtMatr.Value = .Offset(0, -1)
TxtDtNasc.Value = .Offset(0, 1)
Txtadm.Value = .Offset(0, 2)
End With
End With
wsr.Select
With wsr.Range("TabRelação[Nome]")
Set busca1 = .Find(TxtNome.Value)
With Range(busca1.Address)
TxtCPF.Value = Format(.Offset(0, -1), "00000000000")
End With
End With
FormCadastro.CmdGravar.Enabled = False
End If
wsr.Protect Password:="secobr", UserInterfaceOnly:=True
wsc.Protect Password:="secobr", UserInterfaceOnly:=True
Set busca = Nothing
Set busca1 = Nothing
Set wsr = Nothing
Set wsc = Nothing
End Sub
Postado : 03/11/2016 5:30 pm