Jump to content

Recommended Posts

Buenas noches, quisiera consultar como puedo concatenar 4 celdas continuas para llevarlas a otra, sin perder el formato de la celda de origen, para poder realizar un grafico de repeticion de datos y se pueda graficar dentro de la misma celda

Libro1.xlsx

Share this post


Link to post
Share on other sites

Esta macro hace lo que pides:

Sub PseudoGráfico()
Dim Verde, Amarillo, Rojo
'--
Application.ScreenUpdating = False
Verde = Range("A2").Font.Color
Amarillo = Range("B2").Font.Color
Rojo = Range("C2").Font.Color
'--
Columns("D:D").Font.Name = "Stencil"
Columns("D:D").Font.Size = 11
Columns("D:D").Font.Bold = True
'--
For x = 2 To Range("L" & Rows.Count).End(xlUp).Row
   With Range("D" & x)
      .Value = String(100, "|")
      .Font.Color = Rojo
      .Characters(1, Range("L" & x)).Font.Color = Verde
      .Characters(Range("L" & x) + 1, Range("M" & x)).Font.Color = Amarillo
   End With
Next
End Sub

 

Share this post


Link to post
Share on other sites

Había un error en la macro, la vuelvo a subir.

Sub PseudoGráfico()
Dim Verde, Amarillo, Rojo
'--
Application.ScreenUpdating = False
Verde = Range("A2").Font.Color
Amarillo = Range("B2").Font.Color
Rojo = Range("C2").Font.Color
'--
Columns("D:D").Font.Name = "Stencil"
Columns("D:D").Font.Size = 11
Columns("D:D").Font.Bold = True
'--
For x = 2 To Range("L" & Rows.Count).End(xlUp).Row
   With Range("D" & x)
      .Value = String(100, "|")
      .Font.Color = Rojo
      If Range("L" & x) > 0 Then .Characters(1, Range("L" & x)).Font.Color = Verde
      If Range("M" & x) > 0 Then .Characters(Range("L" & x) + 1, Range("M" & x)).Font.Color = Amarillo
   End With
Next
End Sub

 

Edited by Antoni

Share this post


Link to post
Share on other sites
Sub PseudoGráfico()
Dim Verde, Amarillo, Rojo, Morado
'--
Application.ScreenUpdating = False
Verde = Range("A2").Font.Color
Amarillo = Range("B2").Font.Color
Rojo = Range("C2").Font.Color
Morado = Range("D2").Font.Color

'--
Columns("E").Font.Name = "Stencil"
Columns("E").Font.Size = 11
Columns("E").Font.Bold = True
'--
For x = 2 To Range("L" & Rows.Count).End(xlUp).Row
   With Range("E" & x)
      .Value = String(100, "|")
      .Font.Color = Morado
      If Range("L" & x) > 0 Then .Characters(1, Range("L" & x)).Font.Color = Verde
      If Range("M" & x) > 0 Then .Characters(Range("L" & x) + 1, Range("M" & x)).Font.Color = Amarillo
      If Range("N" & x) > 0 Then .Characters(Range("L" & x) + Range("M" & x) + 1, Range("N" & x)).Font.Color = Rojo
   End With
Next
End Sub

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5