Notifications
Clear all

Cor da Celular por formatação condicional Listview

8 Posts
3 Usuários
0 Reactions
1,378 Visualizações
(@wagaoss)
Posts: 0
New Member
Topic starter
 

Olá amigoa,
Meu primeiro tópico aqui, estou desenvolendo um relatório de cosulta simples, que mostra as informações contidas na tabela do Excel.
Tive que fazer algumas adaptações de um relatório antigo da empresa.
estou tentando colocar cor de fundo nas colunas baseado no dia da semana da data do cabeçalho, exemplo de 5ª a domingo a celula teria outra cor, ou a fonte das celulas, algo que as destacasse.
como fiz varias adaptações de outras dicas dos amigos cheguei a um ponto que não consigo fazer esta alteração.
O relatório está em anexo.

Desde já agradeço a ajuda.

 
Postado : 30/05/2016 2:18 pm
(@mprudencio)
Posts: 0
New Member
 

Como vc quer ajuda com senha no VBA....

Dificil hein

 
Postado : 30/05/2016 2:25 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Naõ tem como abrir seu arquivo devido a senha no projeto VBA, então de uma olhada se este arquivo ajuda.

Cor em ListView

 
Postado : 30/05/2016 8:41 pm
(@wagaoss)
Posts: 0
New Member
Topic starter
 

Opa, me desculpe, esqueci de retirar a senha,
a senha é emam123456

tava na correria aqui na empresa, quando estava postando.

 
Postado : 31/05/2016 5:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fiquei em duvida do que pretende, você disse :
"colocar cor de fundo nas colunas baseado no dia da semana da data do cabeçalho, exemplo de 5ª a domingo a celula teria outra cor, ou a fonte das celulas"

Você quer nas celulas na planilha ou alguma formatação no ListView ?

[]s

 
Postado : 31/05/2016 3:18 pm
(@wagaoss)
Posts: 0
New Member
Topic starter
 

Fiquei em duvida do que pretende, você disse :
"colocar cor de fundo nas colunas baseado no dia da semana da data do cabeçalho, exemplo de 5ª a domingo a celula teria outra cor, ou a fonte das celulas"

Você quer nas celulas na planilha ou alguma formatação no ListView ?

[]s

Nas celulas do Listview, este arquivo é um relatório que fiz no ano passado, e queria encrementa-lo um pouco com VBA, eu ja consegui quase tudo que queria, tipo chamar o formulário carregar os dados de acordo com a seleção.
Na planilha coloquei uma formatação condicional que de 5ª a domingo ele destaca as celulas. para identificar quem está abastecendo os veiculos no final de semana.
Queria fazer algo parecido no listview.

 
Postado : 31/05/2016 4:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Se está se referindo a aba "CAPA" nalinha 21, todas as celulas estão pintadas de verde independente de ser final de semana ou não.
Quanto ao listview, é mais fácil alterar a cor da fonte do que colorir por colunas, veja no exemplo que enviei, é formatado a cor pelo dia.

 
Postado : 31/05/2016 4:59 pm
(@wagaoss)
Posts: 0
New Member
Topic starter
 

Se está se referindo a aba "CAPA" nalinha 21, todas as celulas estão pintadas de verde independente de ser final de semana ou não.
Quanto ao listview, é mais fácil alterar a cor da fonte do que colorir por colunas, veja no exemplo que enviei, é formatado a cor pelo dia.

Olá, pelo que vi eu tirei a formatação condicional da planilha e nem reparei :lol:
Mas observando a planilha que voce falou, consegui adaptar o meu código, e consegui deixar a formatação de forma dinamica do jeito que eu preciso, ou seja quando voce troca o mes a formatação consegue se adaptar perfeitamente, eu só não estava acertando o local onde incluir a condição, mas consegui agora.
Agora é só alegria, aparar as pontas soltas, tirar todos os erros e mostrar para a chefia.
espero que o que fiz possa ajudar mais alguem, abaixo a adaptação que fiz para trocar a cor da fonte.

Este altera a cor da fonte das colunas do primeiro listview

    
For j = 4 To lastcol
    
    LstItem.ListSubItems.Add Text:=Sheets("Capa").Cells(i, j).Value
    
    'verifica dia da semana para mudar fonte do subitem
    If j >= 7 And _
    ThisWorkbook.Sheets("Capa").Cells(19, j).Value >= 5 _
    Or ThisWorkbook.Sheets("Capa").Cells(19, j).Value = 1 Then
    
        LstItem.ListSubItems.Item(j - 3).ForeColor = vbBlue 'RGB(255, 0, 0)
        LstItem.ListSubItems.Item(j - 3).Bold = True
        
    Else
    
        LstItem.ListSubItems.Item(j - 3).ForeColor = RGB(0, 0, 0)
        LstItem.ListSubItems.Item(j - 3).Bold = False
        
    End If
    Next j
    Next i

Este altera a cor da fonte das linhas do segundo listview

   

 For a = 219 To Row
    
        Set LstItem2 = Me.ListView2.ListItems.Add(Text:=Sheets("Painel").Cells(a, 2).Value)
    
            If ThisWorkbook.Sheets("Painel").Cells(a, 10).Value >= 5 _
            Or ThisWorkbook.Sheets("Painel").Cells(a, 10).Value = 1 Then
                Me.ListView2.ListItems.Item(a - 218).ForeColor = vbBlue
                Me.ListView2.ListItems.Item(a - 218).Bold = True
            Else
                Me.ListView2.ListItems.Item(a - 218).ForeColor = vbBlack
                Me.ListView2.ListItems.Item(a - 218).Bold = False
            End If
            
    
    For b = 3 To Col
        LstItem2.ListSubItems.Add Text:=Sheets("Painel").Cells(a, b).Value
            If ThisWorkbook.Sheets("Painel").Cells(a, 10).Value >= 5 _
            Or ThisWorkbook.Sheets("Painel").Cells(a, 10).Value = 1 Then
            
                LstItem2.ListSubItems.Item(b - 2).ForeColor = vbBlue
                LstItem2.ListSubItems.Item(b - 2).Bold = True
                
            Else
            
                LstItem2.ListSubItems.Item(b - 2).ForeColor = vbBlack
                LstItem2.ListSubItems.Item(b - 2).Bold = False
            
            End If

No mais estou postando o resultado(removi a senha do VBA :D ), agradeço a ajuda Mauro, e dos demais que interessaram pela minha duvida.

 
Postado : 01/06/2016 8:07 am