Incluir fórmulas a través de Macro

Hola supernor. He visto tus respuestas y me agradó la manera como te dejas entender con claridad. Soy autodidacta, mucho de lo que sé lo aprendí con la ayuda del Excel mismo y leyendo libros. He creado macros en Excel pero llegué a un punto en que no se como hacer y no logro encontrar en la ayuda lo necesario. Lo que trato de lograr es: de una base general (facturas emitidas) extraigo a través de Macros registros de un mismo tipo (por ciudades, que lo he logrado hacer), pero al final de cada grupo de registros necesito colocar una fórmula de suma para tener el total de las facturas(la columna "F" de la hoja de calculo tiene los importes), y luego seguir extrayendo la siguiente ciudad, colocarle la suma de sus importes y así hasta terminar con todos las ciudades existentes. Lo hice con la grabadora de macros, pero me da rangos específicos y quiero lograr algo genérico. Espero dejarme entender con facilidad y ojala puedas ayudarme. Gracias.
Luis01Peru
[email protected]

1 Respuesta

Respuesta
1
En principio no es complicado, pero yo te recomendaría que en lugar de hacerlo con macros sería mucho más sencillo e incluso presentable si lo hicieras con las opciones del menú Datos, tanto subtotales como tabla dinámica (que al fin y al cabo hacen justamente lo que tu quieres hacer) luego si quieres todo este proceso podría automatizarse con una macro que podrías hacer usando la grabadora sin necesidad de entrar a programar en VBA.
Otra opción inclusive que se me ocurre es usar la opción de filtros para ir apartando ciudades y la función SUBTOTALES para hacer las sumas parciales, yo me inclino por las dos primeras opciones..
De todas maneras si ya tienes automatizado el proceso con una macro, una vez extraídos los registros sería muy sencillo sacar la suma total.
Aun cuando no sé cómo tienes los registros situados y sobre todo cómo los has extraído, sería algo como esto:
Dim val As Variant ' esto colocado en las primeras líneas de código
Range("F2").Select
Do Until ActiveCell.Value = ""
val = val + ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = val

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas