Ir ao conteúdo

Posts recomendados

Postado

Olá, por favor, preciso de ajuda urgente... 

 

Vi um vídeo sobre formulario e resolvi reproduzir porque a princípio atendia exatamente a uma tarefa que preciso fazer, pretendo fazer o curso completo futuramente, mas o fato é que quando estava quase acabando o formulário deu  esse erro de execução: 2147417848 (80010108)  " O metodo 'Value' do objeto "Range" falhou. Acredito que o erro esteja na macro editar e no campo data porque sempre que tento editar, ele fecha a planilha e abre um novo arquivo em branco. Agora, o erro que aparece é 94 null invalido. 

 

Alguém pode me ajudar?

 

Planilha de Reporte de Ocorrencias - copia erro - clube.zip

  • Obrigado 1
  • Triste 1
Postado

@LIKCZ Testei a inclusão de um registro e não aconteceu nenhum erro, mas se a tabela não tiver nenhum registro pode dar erro na linha com DataBodyRange. Para evitar isso você pode testar a quantidade de linhas na tabela antes de carregar o ListBox.

 

Evite usar procedimentos públicos para pegar ou atribuir valores dos controles do formulário como fez no Módulo 2. Os comandos para inserir e editar podem ficar no módulo do próprio formulário.

  • Curtir 1
Postado

@Midori Entendi.. o formulário registra bem, mas na hora de editar é que acontece o erro. O arquivo fecha =/

A macro de editar é esse... não sei o que acontece. 

Sub EDITAR()

bloqueado = True
Dim tabela As ListObject
Dim n As Integer, l As Integer
Set tabela = Plan1.ListObjects(1)

n = Registro_Ocorrencias.ListBox1.Value
l = tabela.Range.Columns().Find(n, , , xlWhole).Row

tabela.Range(l, 2).Value = Registro_Ocorrencias.txtdata.Value
tabela.Range(l, 3).Value = Registro_Ocorrencias.txtnomedentista.Value
tabela.Range(l, 4).Value = Registro_Ocorrencias.txtnomepaciente.Value
tabela.Range(l, 5).Value = Registro_Ocorrencias.cbbprocedimento.Value

Call Atualizar_ListBox
MsgBox "A ocorrência foi atualizada"
bloqueado = False

End Sub

 

  • Curtir 1
Postado

@Midori Acho que o erro está aqui (foto anexo). Não entendo o motivo de ter dado nulo. 

 

Sub Editar()

bloqueado = True
Dim TABELA As ListObject
Dim n As Integer, l As Integer

Set TABELA = Plan1.ListObjects(1)

AQUI ACONTECE O ERRO:

n = UserForm1.ListBox1.Value DÁ QUE O VALOR É NULO. 

erro planilha.png

  • Curtir 1
Postado

@LIKCZ Se tentar rodar esse comando sem selecionar nada no ListBox vai receber esse erro. Para evitar isso você pode testar o valor indice que retorna -1 quando nada é selecionado no controle, p.ex,

If Registro_Ocorrencias.ListBox1.ListIndex = -1 Then
    MsgBox "Selecione o registro"
    Exit Sub
End If

 

Postado

@Midori Oi, então, não consegui..deu o mesmo erro com esse codigo. Mas, eu dei outro jeito e consegui 😃  queria te agradecer muito pela atenção e pela disposição em me ajudar, você é um profissional diferenciado! 

Postado

@LIKCZ Você teria que dar mais detalhes para mostrar o motivo de não ter conseguido com o trecho que postei, mas como ele serve para verificar se a seleção foi feita é claro que deve ser colocado no mesmo procedimento e antes de tentar pegar o valor do ListBox. Bom que conseguiu resolver, se possível poste como fez para servir de referência para quem tiver o mesmo problema.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...