Macro suma bajo condición y rango fecha

Hola.

agradeceré una Macro donde pueda sumar y arrojar totalizado en otra hoja según rango de fecha. Es decir desde la Hoja1 busco todos los valores en Estado Cartera de la columna saldo que van desde el 01-08-2014 hasta el 07-08-2014 y los arroje sumados en el recuadro Suma Estado Cartera( en la imagen que estoy subiendo el recuadro esta en la misma Hoja, pero  lo ideal es que ese dato(recuadro) se arroje en otra hoja.(Ejemplo Hoja2). Y asi sucesivamente luego con el rango de fecha 08-08.2014 hasta el 14-08-2014.

1 respuesta

Respuesta
1

Vas a sumar todos los saldos o solamente los de algún estado en particular

Me interesa la suma de Estado en Cartera. Esto por que debo actualizarlo todo los días. Los en Estado Depositado van a ir quedando en $0 a medida que van pasando los días, por lo que sumando los en Cartera me basta. Es una información que bajo de sistema diariamente.

Y la suma en los los 4 rangos de fechas que mencione, Hay meses que sólo serán hasta el 30 ó 31 dependiendo el mes.

A se me olvidaba el rango de las fechas no siempre es el mismo. Tendría que ser en referencia a lo que contiene las celdas de vencimiento(desde-hasta). Es decir que yo manipule las celdas donde van los rangos de fecha. 01-08-2014 al 15-08-2014.( Siempre es variable, semanal, quincenal.) En el ejemplo esta cada 7 días.

Utiliza la siguiente macro, antes de ejecutarla deberás colocar los datos reales de tus hojas:

En esta parte de la macro deberás poner los nombres de tus hojas

Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")

En esta parte deberás poner en qué columna tienes los saldos y en qué fila empiezan esos saldos

saldo = "E" 'columna de saldos en hoja1
fs = 2 'fila inicial de saldos

En esta parte tienes que poner en qué columna tienes la fecha desde y en qué fila empiezan esos rangos de fechas

desde = "A" 'columna desde en hoja2
fd = 3 'fila inicial de las fechas desde

Los cambios deberás hacerlos en esta macro

Sub filtrar()
'Por.DAM
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    saldo = "E" 'columna de saldos en hoja1
    fs = 2 'fila inicial de saldos
    desde = "A" 'columna desde en hoja2
    fd = 3 'fila inicial de las fechas desde
    For i = fd To h2.Range(desde & Rows.Count).End(xlUp).Row
        For j = fs To h1.Range(saldo & Rows.Count).End(xlUp).Row
            If h1.Cells(j, Columns(saldo).Column + 1) >= h2.Cells(i, desde) And _
               h1.Cells(j, Columns(saldo).Column + 1) <= h2.Cells(i, Columns(desde).Column + 1) Then
                wsum = wsum + h1.Cells(j, saldo)
            End If
        Next
        h2.Cells(i, Columns(desde).Column + 2) = wsum
        wsum = 0
    Next
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

1. Abre tu libro de Excel

2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11

3. En el menú elige Insertar / Módulo

4. En el panel del lado derecho copia la macro

5. Ahora para crear un botón, puedes hacer lo siguiente:

6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas

7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.

8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”

9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: filtrar

10. Aceptar.

11. Para ejecutarla dale click a la imagen.

Para mayor referencia te anexo mi archivo de pruebas

https://www.dropbox.com/s/qolj6tvk44ukk1a/sumas.xlsm 

Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas