Ola!
Preciso que a Linha 4 da minha planilha fique com a cor branca. Estou tentando com a VBA, mas não consigo como fazer!
Ola!
Preciso que a Linha 4 da minha planilha fique com a cor branca. Estou tentando com a VBA, mas não consigo como fazer!
Provavelmente inseriu linha, a inserção de linha, copia a formatação da superior.
Creio que ser mais rápido, retirar a cor da de cima.
Bom dia! Não posso retirar a cor da linha de cima por questão de estética. Essa planilha foi solicitada por outra pessoa.
Coloquei:
ChangeCellColor(“DadosAlunos”, “A4:M4”)
Porém coloriu a célula em vermelho.
Consegui!
Coloquei a linha de cima (3) em “Branco” e ocultei.
Obrigada!
pra remover a formatação voce pode usar o ClearContents
Aqui referencia para as Flags do ClearContents:
https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1sheet_1_1CellFlags.html
no exemplo abaixo usei a flag 32 e a 64, para ‘Limpar’ o conteúdo da célula.
[HARDATTR] = 32 → remove formatação manual
[STYLES] = 64 → remove formtação por estilo
Você pode usar quantas flags quiser, basta ir somando o valor da flag
Sub Teste
Dim doc As Object
Dim sheets As Object
Dim plan_base As Object
Dim range As Object
doc = ThisComponent
sheets = doc.Sheets
plan_base = sheets.getByName("Planilha1")
'plan_base = sheets(0)
range = plan_base.GetCellRangeByName("A4:F4")
range.ClearContents(32+64)
End Sub
ou se vc realmente quiser mudar apenas a cor de fundo da celula use CellBackColor
Sub Teste2
Dim doc As Object
Dim sheets As Object
Dim plan_base As Object
Dim range As Object
doc = ThisComponent
sheets = doc.Sheets
plan_base = sheets.getByName("Planilha1")
'plan_base = sheets(0)
range = plan_base.GetCellRangeByName("A4:F4")
'range.CellBackColor = RGB(255,255,255)
range.CellBackColor = -1
End Sub
onde:
range.CellBackColor = RGB(255,255,255) → cor de fundo branca
range.CellBackColor = -1 → cor de fundo sem preenchimento (prefira isso)
uma terceira opção seria usar o CellStyle para definir um estilo para o intervalo de celulas. Talvez essa seja a opção mais adequada para seu caso.
Assim vc pode criar manualmente um estilo para o cabeçalho da sua tabela, e outro estilo para o corpo da tabela (ex: corpo_tabela), depois aplica o estilo ‘corpo_tabela’ nas celulas da sua tabela.
Sub Teste3
Dim doc As Object
Dim sheets As Object
Dim plan_base As Object
Dim range As Object
doc = ThisComponent
sheets = doc.Sheets
plan_base = sheets.getByName("Planilha1")
'plan_base = sheets(0)
range = plan_base.GetCellRangeByName("A4:F4")
range.CellStyle = "Error"
'range.CellStyle = "corpo_tabela"
End Sub
Você pode usar um dos estilos padrões que já estão presente na planilha do calc ou criar um estilo personalizado. No caso do exemplo usei o estilo ‘Erro’ no mas como é programação deve usar o nome original em inglês ‘Error’. Se for usar um estilo personalizado pode criar e usuar um nome em portugues mesmo.
Menu Ferramentas > Ferramentas de desenvolvimento >
Estilos > CellStyles
Seguindo essa caminho acima vc vê os nomes originais dos estilos presentes na sua planilha