MACRO COMBINAR CELDAS + AÑADIR ESTILO DE BORDES A UN RANGO DE COLUMNAS DE LA COMBINACION
Publicado por Quico (106 intervenciones) el 27/01/2019 10:49:03
He grabado esta macro pero no consigo que haga lo que quiero.
En la columna B, seleciono un nºX de celdas que comparten el mismo nombre. Deseo agruparlos y hago con exito un COMBINAR.
Aquí surge el problema, porque con la nueva celda combinada, selecciono todo el rango que va desde A a M.
La idea es que aunque la columna B esta combinada, el resto de filas siguen siendo individuales, así que utilizo la nueva celda combinada, para que desde A:M me genere un borde gris por arriba y por abajo. Esto me sirve como ayuda visual para separar grupos.
Esta es la macro que utilizo, y que solo me combina. :-(
¿Alguien podría decirme que está mal?
Sub Combinar_RangoBordes ()
'Combinar celdas seleccionadas con el ratón de la columna B
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge ' <----Se le indica la celda que hemos combinado como referencia de estilo de bordes
Range("A:M").Select ' <-- Se le indica que el estilo se ha de aplicar desde la columna A a la M
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.249946592608417
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.349986266670736
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.349986266670736
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.249946592608417
.Weight = xlThin
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
En la columna B, seleciono un nºX de celdas que comparten el mismo nombre. Deseo agruparlos y hago con exito un COMBINAR.
Aquí surge el problema, porque con la nueva celda combinada, selecciono todo el rango que va desde A a M.
La idea es que aunque la columna B esta combinada, el resto de filas siguen siendo individuales, así que utilizo la nueva celda combinada, para que desde A:M me genere un borde gris por arriba y por abajo. Esto me sirve como ayuda visual para separar grupos.
Esta es la macro que utilizo, y que solo me combina. :-(
¿Alguien podría decirme que está mal?
Sub Combinar_RangoBordes ()
'Combinar celdas seleccionadas con el ratón de la columna B
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge ' <----Se le indica la celda que hemos combinado como referencia de estilo de bordes
Range("A:M").Select ' <-- Se le indica que el estilo se ha de aplicar desde la columna A a la M
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.249946592608417
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.349986266670736
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.349986266670736
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ThemeColor = 1
.TintAndShade = -0.249946592608417
.Weight = xlThin
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Valora esta pregunta
0