ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Colorir Texto de Listview baseada em condição

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
ioncila
Colaborador
Colaborador
Mensagens: 35
Registrado em: Qui Dez 03, 2009 2:15 pm

Colorir Texto de Listview baseada em condição

Mensagem por ioncila » Sex Ago 17, 2012 11:46 am

Olá
Fiz uma adaptação do modelo de cadastro de produtos (autoria Beckman) que encontrei aqui no forum.
Mas estou a ter dificuldades em fazer o seguinte:
Se numa determinada coluna ("L", por exemplo) uma célula tiver o texto "Activo", o texto de toda a linha do Listview tem que ficar vermelha.
Já estive a pesquisar aqui no fórum e encontrei uma listview que faz isso, mas não consigo compatibilizar o código com o deste modelo.
Podem dar uma ajuda?
Obrigado
Ioncila
Deixo aqui a minha adaptação.
Anexos
testforlinered.7z
Modelo de cadastro
(189.98 KiB) Baixado 390 vezes



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
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1140
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Betim - MG
Contato:

Re: Colorir Texto de Listview baseada em condição

Mensagem por Mikel Silveira Fraga » Sex Ago 17, 2012 12:42 pm

ioncila, boa tarde.

A pouco tempo tive a necessidade de criar uma situação parecida e consegui desenvolver, através de algumas pesquisas, um código para isso.

Dei uma adaptada para a sua situação. Veja se vai atender:

Código: Selecionar todos

Sub CoresLinhasLista()

    Dim i, j As Integer
    
    For i = 1 To Me.lsLista.ListItems.Count
    
        With Me.lsLista
        
            If .ListItems(i).ListSubItems(11).Text = "Activo" Then
        
                For j = 1 To .ColumnHeaders.Count - 1
                    .ListItems(i).ListSubItems(j).ForeColor = vbBlue
                Next
            
            ElseIf .ListItems(i).ListSubItems(11).Text = "Suspenso" Then
                
                For j = 1 To .ColumnHeaders.Count - 1
                    .ListItems(i).ListSubItems(j).ForeColor = vbRed
                Next
            
            ElseIf .ListItems(i).ListSubItems(11).Text = "Ausente" Then
                
                For j = 1 To .ColumnHeaders.Count - 1
                    .ListItems(i).ListSubItems(j).ForeColor = vbBlack
                Next
            
            End If
        
        End With
    
    Next
    
End Sub
Qualquer dúvida é só falar.

Abraços.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Linked In

ioncila
Colaborador
Colaborador
Mensagens: 35
Registrado em: Qui Dez 03, 2009 2:15 pm

Re: Colorir Texto de Listview baseada em condição

Mensagem por ioncila » Sex Ago 17, 2012 1:00 pm

Mikel
Obrigado pela resposta e pela sugestão.
Já experimentei mas não aconteceu nada. Tentei de duas maneiras:
1. Colocando o seu código num módulo e chamando a macro introduzindo em "PreencherListview" um Call CoresLinhasLista
2. Criando um Private Sub e introduzindo em "PreencherListview" um Call CoresLinhasLista.

A userform abre mas o texto continua todo em black.

Experimentou no meu anexo?
O que estou a fazer de errado?

Ioncila



Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1140
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Betim - MG
Contato:

Re: Colorir Texto de Listview baseada em condição

Mensagem por Mikel Silveira Fraga » Sex Ago 17, 2012 4:25 pm

ioncila, boa tarde.

Vou ser sincero, tentei e somente consegui fazer mudar de cores colocando o comando Call CoresLinhasListas sendo acionando por um botão.

No meu caso eu utilizo um DoubleClick para apenas as linhas que quero ficarem coloridas, mas o listview já iniciar carregado com as cores eu tb não consegui fazer 100%.

Mas não se preocupe, eu só não quebrei mais a cabeça com isso pq estou atrasado com um artigo, mas assim que folgar, vou dar uma atenção especial neste caso, ok.

Caso você consiga solucionar o mistério, não esqueça de postar aqui. Vamos conversando e logo alguém aparece com uma solução.

Abraços.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Linked In

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.


ioncila
Colaborador
Colaborador
Mensagens: 35
Registrado em: Qui Dez 03, 2009 2:15 pm

Re: Colorir Texto de Listview baseada em condição

Mensagem por ioncila » Dom Ago 19, 2012 7:36 pm

Mikel
Não precisa quebrar a cabeça. Eu é que preciso de aprender mais de VB :x
O seu código funciona na perfeição. Apenas não estava no sítio certo.
Fiz uma série de tentativas e finalmente coloquei-o no lugar correcto (Private Sub PreencherCabeçalhoLinhas).
O que eu agradecia é que desse uma olhada no sentido de optimizar o código, se possível, pois parece-me que com esta adição a form demora mais tempo a abrir.
Deixo aqui o anexo com essa alteração. Pode ser que seja útil para outros.

Um grande muito obrigado
Ioncila
Anexos
testforlinered.7z
Colorir Linha
(202.58 KiB) Baixado 410 vezes



Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1140
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Betim - MG
Contato:

Re: Colorir Texto de Listview baseada em condição

Mensagem por Mikel Silveira Fraga » Seg Ago 20, 2012 9:21 am

ioncila, bom dia.

A minha preocupação é de tentar aprender também. Sempre que vejo a possibilidade de estar ajudando nas dúvidas de outros usuários, é uma oportunidade de estar acrescentando aos meus conhecimentos também.

Vejo trabalhos feitos por alguns coletas do fórum e sinceramente, acredito que estou engatinhando ainda.. rs

Abraços e bons estudos.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Linked In

Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1008
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Colorir Texto de Listview baseada em condição

Mensagem por joseA » Seg Ago 20, 2012 10:49 am

ioncila,

Poderia postar novamente seu arquivo, não está abrindo aqui.


Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

ioncila
Colaborador
Colaborador
Mensagens: 35
Registrado em: Qui Dez 03, 2009 2:15 pm

Re: Colorir Texto de Listview baseada em condição

Mensagem por ioncila » Seg Ago 20, 2012 12:06 pm

joseA escreveu:ioncila,

Poderia postar novamente seu arquivo, não está abrindo aqui.
Caro José
Aqui vai

Cumprimentos
Ioncila
Anexos
testforlinered.7z
(202.58 KiB) Baixado 473 vezes



Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1008
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Colorir Texto de Listview baseada em condição

Mensagem por joseA » Seg Ago 20, 2012 1:26 pm

Vlw. ;)


Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

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