Olá gente estou iniciando aqui neste forum e gostaria da ajuda de vocês. Estou tentando executar o seguinte script para uma agenda e estou encontrando dificuldade em executá-lo, está sempre dando erro 91 a variavel do objeto ou do campo With não foi definida.
A implementação do codigo também não está acontecendo.
Código Nome E-mail Registro 0
Por enquanto a planilha onde será salvo os dados só tem esses campos os mesmos que teem no userform.
No userform te, os botões para novo cadastro, salvar cadastro, limpar, excluir e fechar, alé de dois botões para navegação e o codigo que é implementado automaticamente.
Se estiver faltando mais informações eu as passarei.
Sou iniciante e preciso de ajuda. Agradeço desde já.
Private Sub cmdAnterior_Click()
Linha = Linha - 1
If Linha < 3 Then
Linha = 2
cmdAnterior.Enabled = False
End If
If Linha > TotalReg Then
cmdProximo.Enabled = True
End If
MostrarReg
End Sub
Private Sub cmdExcluir_Click()
Dim Resposta
Resposta = MsgBox("Deseja excluir esse registro?", vbYesNo + vbCritical, "Excluir Registro")
If Resposta = vbNo Then
Exit Sub
End If
With Agenda
.Rows(Linha).Delete
End With
TotalReg = Agenda.UsedRange.Rows.Count
Linha = 2
If TotalReg > 1 Then
MostrarReg
Else
LimparCampos
End If
End Sub
Private Sub cmdFechar_Click()
Unload frmAgenda
End Sub
Private Sub cmdLimpar_Click()
LimparCampos
End Sub
Sub LimparCampos()
lblCodigo.Caption = Agenda.Range("Registro").Value + 1
txtNome.Value = ""
txtEmail.Value = ""
End Sub
Sub SalvarReg()
With Agenda
.Cells(Linha, 1).Value = lblCodigo.Caption
.Cells(Linha, 2).Value = txtNome.Value
.Cells(Linha, 3).Value = txtEmail.Value
End With
End Sub
Sub MostrarReg()
With Agenda
lblCodigo.Caption = .Cells(Linha, 1).Value
txtNome.Value = .Cells(Linha, 2).Value
txtEmail.Value = .Cells(Linha, 3).Value
End With
End Sub
Private Sub cmdNovo_Click()
LimparCampos
TotalReg = Agenda.UsedRange.Rows.Count
Linha = TotalReg + 1
End Sub
Private Sub cmdProximo_Click()
If Linha > 1 Then
cmdAnterior.Enabled = True
End If
Linha = Linha = 1
If Linha >= TotalReg Then
Linha = TotalReg
cmdProximo.Enabled = False
End If
MostrarReg
End Sub
Private Sub cmdSalvar_Click()
Dim Codigo
If txtNome.Value = "" Then
MsgBox "Favor digite o nome", vbOKOnly + vbCritical, "Salvar Registro"
txtNome.SetFocus
End If
Codigo = Agenda.Range("Registro").Value + 1
Agenda.Range("Registro").Value = Codigo
SalvarReg
TotalReg = Agenda.UsedRange.Rows.Count
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
TotalReg = Agenda.UsedRange.Rows.Count
Linha = 2
If TotalReg < 2 Then
LimparCampos
Linha = TotalReg + 2
Else
MostrarReg
End If
End Sub