galera quem poder me ajudar nesse codigo em VBA agradeço muito. Estou tentando via formulário prencher com dados nas caixas de textos e depois serem copiados para a planilha mas quando cliko no botão aparece um erro "Erro em tempo de execução '9': Subscrito fora do intervalo"
agradeço desde já a quem me ajudar o codigo esta ai galerá!!!
------------------------------------------------
Private Sub CommandButton1_Click()
'butão cadastrar
If ValidateData = True Then
EnterDataInWorksheet
CommandButton1_Click
Me.Hide
End If
End Sub
Private Sub CommandButton2_Click()
'lipar campos
txnome.Value = ""
txcpf.Value = ""
txtelefone.Value = ""
txcelular.Value = ""
txendereco.Value = ""
txcidade.Value = ""
txcep.Value = ""
cmbestado.Value = ""
End Sub
Private Sub UserForm_Initialize()
'carrega estados no combobox
cmbestado.AddItem "Acré"
cmbestado.AddItem "Alagoas"
cmbestado.AddItem "Amapá"
cmbestado.AddItem "Amazonas"
cmbestado.AddItem "Bahia"
cmbestado.AddItem "Ceará"
cmbestado.AddItem "Distrito Federal"
cmbestado.AddItem "Espírito Santo"
cmbestado.AddItem "Goiás"
cmbestado.AddItem "Maranhão"
cmbestado.AddItem "Mato Groço"
cmbestado.AddItem "Mato Groço do Sul"
cmbestado.AddItem "Pará"
cmbestado.AddItem "Paraíba"
cmbestado.AddItem "Paraná"
cmbestado.AddItem "Pernambuco"
cmbestado.AddItem "Piauí"
cmbestado.AddItem "Rio de Janeiro"
cmbestado.AddItem "Rio Grande do Norte"
cmbestado.AddItem "Rio Grande do Sul"
cmbestado.AddItem "Roraima"
cmbestado.AddItem "Santa Catarina"
cmbestado.AddItem "São Paulo"
cmbestado.AddItem "Sergipe"
cmbestado.AddItem "Tocantins"
End Sub
Public Sub EnterDataInWorksheet()
'copia os dados do formulário para a planilha
Dim r As Range
Dim r1 As Range
Set r = Worksheets("1").Range("A2").CurrentRegion >>>>>>> O Erro Aparece Aki!!
Set r1 = r.Offset(r.Rows.Count, 0)
r1.Cells(1).Value = txnome.Value
r1.Cells(2).Value = txcpf.Value
r1.Cells(3).Value = txtelefone.Value
r1.Cells(4).Value = txcelular.Value
r1.Cells(5).Value = txendereco.Value
r1.Cells(6).Value = txcidade.Value
r1.Cells(7).Value = cmbestado.Value
r1.Cells(8).Value = txcep.Value
End Sub
Public Function ValidateData() As Boolean
If txnome.Value = "" Then
MsgBox "Por favor Informe o Seu Nome."
ValidateData = False
Exit Function
End If
If txcpf.Value = "" Then
MsgBox "Por Favor Informe o seu CPF."
ValidateData = False
Exit Function
End If
If txtelefone.TextLength <> 10 Then
MsgBox "O Telefone deve possuir 10 números (DDD + número)"
ValidateData = False
Exit Function
End If
If txcelular.TextLength <> 10 Then
MsgBox "O Celular deve possuir 10 números (DDD + números)"
Pergunta
sieg
galera quem poder me ajudar nesse codigo em VBA agradeço muito. Estou tentando via formulário prencher com dados nas caixas de textos e depois serem copiados para a planilha mas quando cliko no botão aparece um erro "Erro em tempo de execução '9': Subscrito fora do intervalo"
agradeço desde já a quem me ajudar o codigo esta ai galerá!!!
------------------------------------------------
Private Sub CommandButton1_Click()
'butão cadastrar
If ValidateData = True Then
EnterDataInWorksheet
CommandButton1_Click
Me.Hide
End If
End Sub
Private Sub CommandButton2_Click()
'lipar campos
txnome.Value = ""
txcpf.Value = ""
txtelefone.Value = ""
txcelular.Value = ""
txendereco.Value = ""
txcidade.Value = ""
txcep.Value = ""
cmbestado.Value = ""
End Sub
Private Sub UserForm_Initialize()
'carrega estados no combobox
cmbestado.AddItem "Acré"
cmbestado.AddItem "Alagoas"
cmbestado.AddItem "Amapá"
cmbestado.AddItem "Amazonas"
cmbestado.AddItem "Bahia"
cmbestado.AddItem "Ceará"
cmbestado.AddItem "Distrito Federal"
cmbestado.AddItem "Espírito Santo"
cmbestado.AddItem "Goiás"
cmbestado.AddItem "Maranhão"
cmbestado.AddItem "Mato Groço"
cmbestado.AddItem "Mato Groço do Sul"
cmbestado.AddItem "Pará"
cmbestado.AddItem "Paraíba"
cmbestado.AddItem "Paraná"
cmbestado.AddItem "Pernambuco"
cmbestado.AddItem "Piauí"
cmbestado.AddItem "Rio de Janeiro"
cmbestado.AddItem "Rio Grande do Norte"
cmbestado.AddItem "Rio Grande do Sul"
cmbestado.AddItem "Roraima"
cmbestado.AddItem "Santa Catarina"
cmbestado.AddItem "São Paulo"
cmbestado.AddItem "Sergipe"
cmbestado.AddItem "Tocantins"
End Sub
Public Sub EnterDataInWorksheet()
'copia os dados do formulário para a planilha
Dim r As Range
Dim r1 As Range
Set r = Worksheets("1").Range("A2").CurrentRegion >>>>>>> O Erro Aparece Aki!!
Set r1 = r.Offset(r.Rows.Count, 0)
r1.Cells(1).Value = txnome.Value
r1.Cells(2).Value = txcpf.Value
r1.Cells(3).Value = txtelefone.Value
r1.Cells(4).Value = txcelular.Value
r1.Cells(5).Value = txendereco.Value
r1.Cells(6).Value = txcidade.Value
r1.Cells(7).Value = cmbestado.Value
r1.Cells(8).Value = txcep.Value
End Sub
Public Function ValidateData() As Boolean
If txnome.Value = "" Then
MsgBox "Por favor Informe o Seu Nome."
ValidateData = False
Exit Function
End If
If txcpf.Value = "" Then
MsgBox "Por Favor Informe o seu CPF."
ValidateData = False
Exit Function
End If
If txtelefone.TextLength <> 10 Then
MsgBox "O Telefone deve possuir 10 números (DDD + número)"
ValidateData = False
Exit Function
End If
If txcelular.TextLength <> 10 Then
MsgBox "O Celular deve possuir 10 números (DDD + números)"
ValidateData = False
Exit Function
End If
If txendereco.Value = "" Then
MsgBox "Por Favor Informe o seu Endereço."
ValidateData = False
Exit Function
End If
If txcidade.Value = "" Then
MsgBox "Por Favor Informe a Cidade"
ValidateData = False
Exit Function
End If
If cmbestado.Value = "" Then
MsgBox "Por Favor Selecione um Estado"
ValidateData = False
Exit Function
End If
If txcep.TextLength <> 8 Then
MsgBox "O CEP deve Haver 8 Digitos"
ValidateData = False
Exit Function
End If
ValidateData = True
End Function
--------------------------------------------------------
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.