Vídeo recomendado
https://youtu.be/diWPPPhW-9E

[Resolvido] Erro em tempo de execução 381

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Avatar do usuário
milton
Manda bem
Manda bem
Mensagens: 147
Registrado em: Sex Jun 17, 2016 8:22 am

[Resolvido] Erro em tempo de execução 381

Mensagem por milton »

Boa tarde pessoal,

A planilha em anexo, da o seguinte erro:

Erro em tempo de execução 381
Nao foi possivel obter a propriedade list. Indice de matriz de propriedade invalido.

Alguém pode resolver pra mim, por favor.
Anexos
Poder em Terceiro - 202010.rar
(75.43 KiB) Baixado 166 vezes
Editado pela última vez por milton em Ter Nov 17, 2020 7:36 am, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Erro em tempo de execução

Mensagem por Reinaldo »

Da maneira que está configurado sua rotina, o erro ocorre quando clica no botão "Inserir" sem selecionar o item no listbox.
Selecione um dos itens e acione o botão


Avatar do usuário
milton
Manda bem
Manda bem
Mensagens: 147
Registrado em: Sex Jun 17, 2016 8:22 am

Re: Erro em tempo de execução

Mensagem por milton »

Ola Reinaldo, obrigado pelo retorno.

Meu objetivo é, quando clicar no botão "Inserir" todos os itens da listbox sejam inseridos na Planilha sem que eu tenha que selecionar manualmente.

Pode me ajudar?


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Erro em tempo de execução

Mensagem por Reinaldo »

Talvez assim:

Código: Selecionar todos

Private Sub BtnInserir_Click()
Dim iCodigo As String
Dim Lin As Integer
Dim Qtde As Double

For x = 0 To ListBox1.ListCount - 1
    'Pego o Código da LisBox
    iCodigo = ListBox1.List(x, 0)
    'Pego a Qtde
    Qtde = ListBox1.List(x, 1)
    
    Lin = 2
    
    'Faz um Loop na  Plan Estoque
    Do While Sheets("ESTOQUE").Cells(Lin, 1) <> ""
        'Se  o Código da Plan Estoque for igual ao Código Selecionado
        'da Listbox então soma o saldo do estoque com a qtde da listbox
        If Sheets("ESTOQUE").Cells(Lin, 2) = iCodigo Then
            Sheets("ESTOQUE").Cells(Lin, 4) = Sheets("ESTOQUE").Cells(Lin, 4) + Qtde
            'Sai do Loop
            Exit Do
        End If
    Lin = Lin + 1
    Loop
Next
MsgBox "Quantidade Atualizada com sucesso!!", vbInformation + vbOKOnly, "Atenção"

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
milton
Manda bem
Manda bem
Mensagens: 147
Registrado em: Sex Jun 17, 2016 8:22 am

Re: Erro em tempo de execução

Mensagem por milton »

Bom dia Reinaldo.
Perfeito, era isso mesmo. Muito obrigado!!!
Abraço.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder