Ir para conteúdo
Fórum Script Brasil
  • 0

Cor da linha do ListBox no VBA


michelsrt

Pergunta

Boa noite, poderiam me ajudar por favor? Tenho este código no VBA para mudar a cor das linhas do ListBox, porem retorna o "erro de compilação: Metodo ou membro de ados não encontrado", referindo-se ao ListItems e ListSubItems:

Sub corLinha()
    On Error GoTo Error
    Dim i, y As Integer
        
    For i = 1 To Me.lstbox1.lis.Count
        For y = 1 To 10
            If Me.lstbox1.ListItems(i).ListSubItems(10).Text = "Enviado" Then
                Me.lstbox1.ListItems(i).ForeColor = &HC000&
                Me.lstbox1.ListItems(i).ListSubItems (10)
            Else
                Me.lstbox1.ListItems(i).ForeColor = &HC0&
                Me.lstbox1.ListItems(i).ListSubItems (10)
            End If
        Next y
    Next i
    Exit Sub
erro:
    MsgBox "Erro!", vbCritical, "CriterioCor"
End Sub

 

 

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O erro ocorre porque os métodos ListItems e ListSubItems são utilizados com o controle ListView, não com o controle ListBox do VBA. O controle ListBox não possui esses métodos e propriedades.

Para alterar a cor de uma linha em um ListBox no VBA, você precisa adotar uma abordagem diferente, como alterar a cor do texto manualmente ao carregar os itens na caixa de listagem. Infelizmente, o controle ListBox nativo do VBA não suporta mudança de cor de linha diretamente. No entanto, você pode usar um ListView em vez de um ListBox, se for essencial ter essa funcionalidade.

Aqui está uma abordagem alternativa usando um controle ListView:

Sub corLinha()
    On Error GoTo erro
    Dim i As Integer

    For i = 1 To Me.lstview1.ListItems.Count
        If Me.lstview1.ListItems(i).ListSubItems(10).Text = "Enviado" Then
            Me.lstview1.ListItems(i).ForeColor = &HC000&
        Else
            Me.lstview1.ListItems(i).ForeColor = &HC0&
        End If
    Next i
    Exit Sub
erro:
    MsgBox "Erro!", vbCritical, "CriterioCor"
End Sub

Se você realmente precisa utilizar um ListBox, você pode considerar carregar os itens com cores diferentes em um controle alternativo ou adicionar alguma indicação visual (como prefixos no texto) para diferenciar os itens.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,8k
×
×
  • Criar Novo...