Dados em Listbox - busca de dados com filtro

Aew Galera, boa tarde!!
Estou com uma dificuldade em um código de VBA, que estou cansando de bater a cabeça, queria ver se alguém poderia me ajudar, tenho o seguinte código abaixo:

Dim rng As Range
Set rng = Sheets(“CONTAS_A_PAGAR”).Range(“A1”).Offset(1, 0)

For x = 1 To 6

    If rng.Offset(0, 5).Value = "ABERTO" Then
        With listContaApagar
           .AddItem
           .List(x, 0) = rng.Value
           .List(x, 1) = rng.Offset(0, 1)
           .List(x, 2) = rng.Offset(0, 2)
           .List(x, 3) = rng.Offset(0, 3)
           .List(x, 4) = rng.Offset(0, 4)
           .List(x, 5) = rng.Offset(0, 5)
        End With
    End If
    
    Set rng = rng.Offset(1, 0)

Next x

é um trecho simples do código, basicamente o que eu estou querendo é atualizar uma listbox, com os meus títulos que ainda se encontram em ABERTO, de modo a trazer apenas os primeiros 6 títulos em aberto. Isto para mim parecia ser muito simples o problema é que quando executar, me apresente o seguinte erro:

Erro em tempo de execucao 381
Nao foi possível definir a propriedade List. Índice de matriz de propriedade invalido

Quando eu coloco a condição IF, ele me reporta o erro, de modo a não reconhecer o valor de X.
Segue ate um código abaixo para debugarem

For x = 0 To 2
If x <> 1 Then
    With listContaApagar
        .AddItem
        .List(x, 0) = "ola"
    End With
End If
Next x

Agradeço muito se tiverem como me ajudar!

@DiegoPerilloo
Boas amigo!

Veja se este código resulta:

Dim linhalistbox As Long
Dim linha As Long
Dim i As Long
Dim soma As Double
Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets("CONTAS_A_PAGAR")
linhalistbox = Me.listContaApagar.ListCount
Dim UltimaLinha As Integer
UltimaLinha = ws.Cells(Rows.Count, 1).End(xlUp).Row 'Encontra Ultima linha da planilha
i = 0

For linha = 2 To UltimaLinha 'Da linha 2 até a ultima
    If ws.Cells(linha, 6).Value = "ABERTO" Then 'Verifica se valor da célula contém "ABERTO"
        With Me.listContaApagar
            .AddItem
            .List(linhalistbox, 0) = Cells(linha, 1)
            .List(linhalistbox, 1) = Cells(linha, 2)
            .List(linhalistbox, 2) = Cells(linha, 3)
            .List(linhalistbox, 3) = Cells(linha, 4)
            .List(linhalistbox, 4) = Cells(linha, 5)
            .List(linhalistbox, 5) = Cells(linha, 6)

            linhalistbox = linhalistbox + 1
            If linhalistbox = 6 Then Exit Sub 'Caso valor da linha da listbox seja 6 saida da sub, fazendo assim apenas os 6 primeiros valores com o valor "ABERTO"
        End With
    End If

Next linha

Abraço :slight_smile:

Certinho!!! rs vlw @AfonsoMira, estou tentando entender ainda o código, mas deu certo!
Obrigado!

Tentei comentar o código, mas caso tenha alguma dúvida diga me que tento lhe explicar mais aprofundado.

Dim linhalistbox As Long 'Linha da list box
Dim linha As Long 'Linha da planilha
Dim ws As Worksheet 'Defenir ws como a worksheet

Set ws = ThisWorkbook.Worksheets("CONTAS_A_PAGAR") 'Defenir ws como a Worksheets("CONTAS_A_PAGAR")

linhalistbox = Me.listContaApagar.ListCount 'Defenir a linha da listbox como 1

Dim UltimaLinha As Integer
UltimaLinha = ws.Cells(Rows.Count, 1).End(xlUp).Row 'Encontra Ultima linha da planilha

For linha = 2 To UltimaLinha 'Da linha 2 da planilha até a ultima encontra
    If ws.Cells(linha, 6).Value = "ABERTO" Then 'Verifica se valor da célula contém "ABERTO"
        'Caso o valor da celula seja ABERTO então
        
        'Com a listbox
        With Me.listContaApagar
            .AddItem 'Adiciona o item
            .List(linhalistbox, 0) = Cells(linha, 1) 'Na linha neste caso 1 da listbox, coluna 0 vai inserir o valor da linha 2, coluna 1 da sheet("CONTAS_A_PAGAR")
            .List(linhalistbox, 1) = Cells(linha, 2)
            .List(linhalistbox, 2) = Cells(linha, 3)
            .List(linhalistbox, 3) = Cells(linha, 4)
            .List(linhalistbox, 4) = Cells(linha, 5)
            .List(linhalistbox, 5) = Cells(linha, 6)

            linhalistbox = linhalistbox + 1 'Adiciona 1 a linha da listbox para na proxima rodada acrescentar abaixo e não sempre na mesma linha.
            
            If linhalistbox = 6 Then Exit Sub 'Caso valor da linha da listbox seja 6 saida da sub, fazendo assim apenas os 6 primeiros valores com o valor "ABERTO"
        End With
    End If

Next linha

Nao precisa, consegui entender, Vlw!
Duvida: Como eu encerro este tópico?