"ERRO EM TEMPO DE EXECUÇÃO 381
NÃO FOI POSSÍVEL OBTER A PROPRIEDADE LIST. ÍNDICE DE MATRIZ DE PROPRIEDADE INVÁLIDO "
Tem outro modo de escrever esse comando ??
Private Sub ListBox3_Change()
TextBox_grupo_altera.Text = ListBox3.List(ListBox3.ListIndex, 0)
TextBox_tipo_altera.Text = ListBox3.List(ListBox3.ListIndex, 1)
TextBox_data_altera.Text = ListBox3.List(ListBox3.ListIndex, 2)
TextBox_valor_altera.Text = ListBox3.List(ListBox3.ListIndex, 3)
TextBox_obs_altera.Text = ListBox3.List(ListBox3.ListIndex, 4)
End Sub
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
ERRO EM TEMPO DE EXECUÇÃO 381
Re: ERRO EM TEMPO DE EXECUÇÃO 381
Vagnfer,
O controle ListBox possui as 5 colunas habilitadas?
Pois se houverem apenas 4 colunas por exemplo, a ultima vai gerar este tipo de erro por não existir.
Elaborei um modelo aqui, e em meus testes não enfrentei erros de nenhum tipo utilizando esse evento do ListBox.
Se puder, disponibilize um modelo compactado (.zip ou .rar) com dados ficticios, para que possamos analisar
PS : Durante testes, me deparei com o erro citado quando limpei o conteúdo do ListBox. Ao limpar (e acredito que ao remover itens) o ListBox gera o evento Change, ocasionando o erro.
Se este for o seu cenário, temos 2 possibilidades mais práticas :
1) Tratar o erro, exemplo :
2) Validar a quantidade de itens no ListBox :
Espero ter ajudado.
Abs
O controle ListBox possui as 5 colunas habilitadas?
Pois se houverem apenas 4 colunas por exemplo, a ultima vai gerar este tipo de erro por não existir.
Elaborei um modelo aqui, e em meus testes não enfrentei erros de nenhum tipo utilizando esse evento do ListBox.
Se puder, disponibilize um modelo compactado (.zip ou .rar) com dados ficticios, para que possamos analisar
PS : Durante testes, me deparei com o erro citado quando limpei o conteúdo do ListBox. Ao limpar (e acredito que ao remover itens) o ListBox gera o evento Change, ocasionando o erro.
Se este for o seu cenário, temos 2 possibilidades mais práticas :
1) Tratar o erro, exemplo :
Código: Selecionar todos
Private Sub ListBox1_Change()
On Error Goto trataerro
TextBox1 = ListBox3.List(ListBox3.ListIndex, 0)
TextBox2 = ListBox3.List(ListBox3.ListIndex, 1)
TextBox3 = ListBox3.List(ListBox3.ListIndex, 2)
TextBox4 = ListBox3.List(ListBox3.ListIndex, 3)
TextBox5 = ListBox3.List(ListBox3.ListIndex, 4)
trataerro:
If Err = 381 then
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
End If
End Sub
2) Validar a quantidade de itens no ListBox :
Código: Selecionar todos
Private Sub ListBox1_Change()
With Me
If .ListBox1.ListCount = 0 Then
.TextBox1 = ""
.TextBox2 = ""
.TextBox3 = ""
.TextBox4 = ""
Exit Sub
Else
.TextBox1 = .ListBox1.List(.ListBox1.ListIndex, 0)
.TextBox2 = .ListBox1.List(.ListBox1.ListIndex, 1)
.TextBox3 = .ListBox1.List(.ListBox1.ListIndex, 2)
.TextBox4 = .ListBox1.List(.ListBox1.ListIndex, 3)
End If
End With
End Sub
Abs