Pergunte aqui
1

Como criar uma lista com plano de fundo com cores alternadas?

perguntadas 2017-03-30 19:58:49 +0200

imagem do gravatar de JoãoDamasceno

updated 2017-04-08 22:55:47 +0200

imagem do gravatar de Grafeno

Preciso formatar uma tabela que já está concluída, onde são 3 mil linhas... Preciso que em cada linha ímpar seja aplicada uma determinada cor, por exemplo "cinza azulado" e as demais (as linhas pares) na cor normal da planilha, ou seja, branca. Como faço isso?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2017-03-30 22:16:26 +0200

updated 2017-03-31 01:28:35 +0200

De uma olhada aqui:

http://www.mail-archive.com/usuarios@...

Existe também uma macro, de autoria de Gladiston Hamacker Santana

Aqui um arquivo com a macro acionada no Menu.

'=========================================================================
Sub ZebrarArea 'Selecionar area a Zebrar
'exemplo de uso: ZebrarArea 'tem que haver area Selecionada
rem ----------------------------------------------------------------------
' O objetivo dessa função é aplicar cor par/impar para
' cada linha da tabela. O intuito é evitar enganos por seguir
' um valor numa determinada linha e pêrde-la de vista.
' O funcionamento é simples, apenas selecione a área que
' deseja zebrar e aplique essa macro.
' Ajuste as variaveis nZebra1 e nZebra2
' Autor: Gladiston Hamacker Santana <sirhamacker[@]gmail.com>
rem ----------------------------------------------------------------------
  Dim oCurrentSelection As Variant
  Dim oRows As Variant
  Dim oCols As Variant
  Dim oCell  As Variant
  Dim Li As Long
  Dim Ci As Long
  Dim nRow As Long
  ' Uma boa idéia de cores que podem ser usadas, podem ser encontradas nos
sites:
  ' http://www.htmlgoodies.com/tutorials/colors/article.php/3478961
  ' http://erikasarti.net/html/tabela-cores/
  ' http://domingoscsouza.com.br/blog/front-end/tabela-de-cores-html
  ' Valores em hexa devem ser precedidos por &H
  Const nZebra1 = &HFFEFD5  'PapayaWhip #FFEFD5
  Const nZebra2 = &HFFFFE0  'LightYellow #FFFFE0
  oCurrentSelection = ThisComponent.getCurrentSelection()
  If oCurrentSelection.supportsService("com.sun.star.table.CellRange") Then
      oRows = oCurrentSelection.getRows()
      oCols = oCurrentSelection.getColumns()
      For Li = 0 To oRows.getCount()-1
        For Ci = 0 To oCols.getCount()-1
          oCell = oCurrentSelection.getCellByPosition(Ci, Li)
          nRow = oCell.RangeAddress.StartRow
          If (nRow Mod 2) = 0 Then
            oCell.setPropertyValue("CellBackColor", nZebra1)
          Else
            oCell.setPropertyValue("CellBackColor", nZebra2)
          EndIf
        Next Ci
      Next Li
  EndIf
End Sub

E também pode ser feita por formatação condicional, a vantagem desta é que se inserir linha, a "zebra" é corrigida.

Utiliza-se a formula é: ÉÍMPAR(LINHA())

Também exemplo no arquivo.


Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2017-03-30 19:58:49 +0200

Lidas: 970 vezes

Última atualização: Mar 31 '17