¿Cómo sumar columnas especificicas cuando el rango es variable?

Haber si alguién me apoya con esto:

Tengo una tabla en una hoja de excel donde se transfieren unos datos a partir de un procedimiento, el punto es que los valores transferidos siempre son variables pueden ser de 1 a N valores, la celda de inicio es la "A8", pero las que necesito que se sumen son por ejemplo la columna "F", "G", "I","K" y "N" en las anteriores son textos. ¿Esto se puedo hacer? Si se puede, ¿Se le puede dar formato? Es decir que los valores sumados aparezcan en negrita con borde superior e inferior doble, no sé algo así.

1 respuesta

Respuesta
1

Si se puedes

Para la suma lo puedes logra con algo así

Suma = WorksheetFunction.Sum(Range("f8:f100000"))

Range("f1000000").End(xlUp).Offset(1, 0) =  Suma

el total de la suma vendria callendo una celda debajo del ultimo valor agregado

para los border con la grabado lo consigues pero aqui estas algo parecido

  With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
   With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThick
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

La macro complete seria estos seria en el caso de la columna f ya para las demás seria solo cambia los rangos

Suma = WorksheetFunction.Sum(Range("f8:f100000"))

Range("f1000000").End(xlUp).Offset(1, 0) =  Suma

Range("f1000000").End(xlUp).select

  With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
   With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThick
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Si te silve no olvides valora para cerrar la pregunta 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas