Notifications
Clear all

Caracteres Formatação

7 Posts
3 Usuários
0 Reactions
1,651 Visualizações
(@lucas842)
Posts: 23
Eminent Member
Topic starter
 

Pessoal, tudo bem?

Frequentemente eu preciso copiar códigos de barras com 48 caracteres para células do Excel e gostaria que a célula adotasse uma formatação alternada automaticamente dentro da sequência de números, por exemplo:
a) Com cores alternadas a cada 3 caracteres: 123456789...
b) Com formatação em negrito a cada 3 caracteres: 123456789123...

Agradeço desde já.

 
Postado : 08/11/2016 9:01 am
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
 

Boa tarde Lucas.

Unica maneira que conheço é com Macro.

Segue arquivo de exemplo.

Colorir
do 1º + 3 caracteres não faz nada.
do 4º + 3 caracteres deixa vermelho
do 7º + 3 caracteres não faz nada
do 10º + 3 caracteres deixa verde

Sub M01_Colorir()
    Range("B2").Select
    With ActiveCell.Characters(Start:=1, Length:=3).Font
        .ThemeColor = xlThemeColorLight1
    End With
    With ActiveCell.Characters(Start:=4, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=7, Length:=3).Font
        .ThemeColor = xlThemeColorLight1
    End With
    With ActiveCell.Characters(Start:=10, Length:=3).Font
        .Color = -11489280
    End With
End Sub

Negrito
Do 14º + 6 caracteres deixará em negrito.

Sub M02_Negrito()
    Range("B2").Select
    With ActiveCell.Characters(Start:=1, Length:=13).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=14, Length:=6).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=20, Length:=21).Font
        .FontStyle = "Normal"
    End With
End Sub

Da para ir modificando de acordo com necessidade.

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 08/11/2016 1:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Apenas para acrescentar outra maneira, supondo que os dados estejam dispostos na coluna A, a partir da linha 2:


Sub Destacar()

i = 2
j = 4

Do While Cells(i, 1) <> ""

Do While j <= 46
Cells(i, 1).Characters(Start:=j, Length:=3).Font.ColorIndex = 3
j = j + 6
Loop
i = i + 1
j = 4
Loop

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/11/2016 1:47 pm
(@lucas842)
Posts: 23
Eminent Member
Topic starter
 

Pessoal, como eu posso saber os códigos das cores usadas nas funções .Color e .ThemeColor? Desde já obrigado.

 
Postado : 14/11/2016 4:02 pm
(@lucas842)
Posts: 23
Eminent Member
Topic starter
 

Aqui está o código para os 48 caracteres:

Sub M01_Colorir()
    Range("B2").Select
    With ActiveCell.Characters(Start:=1, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=4, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=7, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=10, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=13, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=16, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=19, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=22, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=25, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=28, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=31, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=34, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=37, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=40, Length:=3).Font
        .Color = -16776961
    End With
    With ActiveCell.Characters(Start:=43, Length:=3).Font
        .Color = 3
    End With
    With ActiveCell.Characters(Start:=46, Length:=3).Font
        .Color = -16776961
    End With
End Sub
Sub M02_Negrito()
    Range("B2").Select
    With ActiveCell.Characters(Start:=1, Length:=3).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=4, Length:=6).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=7, Length:=9).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=10, Length:=12).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=13, Length:=15).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=16, Length:=18).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=19, Length:=21).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=22, Length:=24).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=25, Length:=27).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=28, Length:=30).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=31, Length:=33).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=34, Length:=36).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=37, Length:=39).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=40, Length:=42).Font
        .FontStyle = "Negrito"
    End With
    With ActiveCell.Characters(Start:=43, Length:=45).Font
        .FontStyle = "Normal"
    End With
    With ActiveCell.Characters(Start:=46, Length:=48).Font
        .FontStyle = "Negrito"
    End With
End Sub

Gostaria de saber os códigos das cores das funções .Color e .ThemeColor e também como posso selecionar mais de uma célula ao mesmo tempo e não apenas a B2.

 
Postado : 14/11/2016 4:16 pm
(@lucas842)
Posts: 23
Eminent Member
Topic starter
 

Edson, tudo bem? Você ou outro membro do fórum poderiam me dizer o motivo desse código não colocar os caracteres em negrito?

Sub Destacar()

i = 2
j = 4

Do While Cells(i, 1) <> ""

Do While j <= 48
Cells(i, 1).Characters(Start:=j, Length:=3).Font.ColorIndex = 3
j = j + 6
Loop
i = i + 1
j = 4
Loop

Do While Cells(i, 1) <> ""

Do While j <= 48
Cells(i, 1).Characters(Start:=j, Length:=3).FontStyle = "Negrito"
j = j + 6
Loop
i = i + 1
j = 4
Loop

End Sub
 
Postado : 14/11/2016 5:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Lucas

Movi teu tópico para VBA & Macros que é o assunto da tua dúvida.

Veja se o tutorial do link abaixo consegue esclarecer um pouco sobre cores no VBA:
Para baixar em PDF, clique com o lado direito do mouse em --> "Abrir em uma nova guia"

[url]https://www.google.com.br/url?sa=t&rct=j&q=&esrc="s&source=web&cd=5&cad=rja&uact=8&ved=0ahUKEwjA_uj_1KrQAhWGhJAKHXVtAVIQFghDMAQ&url=http%3A%2F%2Fwww.altabooks.com.br%2Findex.php%3Fdispatch%3Dattachments.getfile%26attachment_id%3D2361&usg=AFQjCNGf8WX9CUzivUewh22DpEItJ1CZ8Q[/url"]

Se foi útil, clique na mãozinha.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/11/2016 6:49 am