Combobox con datos de distintas hojas

Tengo un pequeño problema que no doy solución... Paso a describir qué tengo:

Tengo un libro de excel con 10 hojas, que se llaman: hoja1, hoja2, hoja3, hoja4, hoja5, hoja6, hoja7, hoja8, Parcial y Total.

El caso es que en cada hoja existen datos que voy poniendo a mano, los cuales se suman en la hoja llamada "Total", lógicamente en Total se suman todos los datos de todas las hojas.

Pero quería que en la hoja "Parcial" se sumen los datos de las hojas que yo seleccionase.

Me gustaría que en la hoja "Parcial", existan dos combobox, uno de ellos llamado "Hoja Inicia" y otro llamado "Hoja Final", quiero poder desplegar esos combobox y seleccionar la hoja inicial "que podrá ser desde la hoja1 hasta la hoja8" y la hoja final "que también podrá ser entre la Hoja1 y la Hoja8", y que me haga el sumatorio SOLO de las hojas que hay entre la "Hoja Inicial" y la "Hoja Final" es decir... Si en la hoja "Parcial" en el combobox de inicio selecciono Hoja3 y en el combobox de fin selecciono Hoja6, quiero que me haga el sumatorio de TODAS las hojas que hay entre la Hoja3 y la Hoja6. No sé si me habré explicado con claridad...

Respuesta
1

H o l a:

Te propongo lo siguiente, en lugar de 2 combos, poner un listbox, en el listbox aparecerían todas las hojas. En el listbox seleccionarías las hojas que quisieras, pueden ser de forma seguida o salteada. En la hoja "parcial" también tendrías un botón para realizar las sumas.

Ejemplo del listbox:


Ahora, para realizar las sumas, me tienes que poner ejemplos de cuáles celdas quieres sumar y en cuáles celdas quieres el resultado.


O envíame tu archivo y me explicas con ejemplos lo que quieres sumar.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “cotarejo” y el título de esta pregunta.

Ok Dante!! ya te lo he enviado!!!! Muchísimas gracias!!! ;D

H o l a:

Te regreso el archivo con lo siguiente:

1. En la hoja "Total" cambié tu fórmula para sumar las hojas, por esta fórmula:

=SUMA('1:31'!E13)

2. La hoja "Semanal" tiene la misma estructura que la hoja "Total"

3. En la hoja semanal, también están las fórmulas =SUMA('1:31'! E13) para sumar las hojas.

4. En la hoja "Semanal " puse 2 macros, las macros se ejecutan en automático cada que cambias la fecha de inicio (Celda K1) o cambias la fecha fin (Celda R1).

5. Lo que hacen las macros es actualizar todas las fórmulas, para sumar los datos del rango de hojas que hayas puesto en las celdas. (Tal como lo pediste)

Al archivo que te estoy enviando tiene unas macros, por lo tanto, cuando lo abras deberás habilitar la ejecución de macros.


Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("K1,R1")) Is Nothing Then
        ActualizarFormulas
        Target.Select
    End If
End Sub


Sub ActualizarFormulas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Semanal")
    Set r = h1.Range("E13:O17")
    ini = [K1]
    fin = [R1]
    If ini = 0 Or ini < 1 Or ini > 31 Or ini = "" Then
        MsgBox "Pon un número válido en la fecha de inicio"
        Exit Sub
    End If
    If fin = 0 Or fin < 1 Or fin > 31 Or fin = "" Then
        MsgBox "Pon un número válido en la fecha de fin"
        Exit Sub
    End If
    '
    For Each c In r
        If c.Formula <> "" Then
            wfor = c.Formula
            wadd = c.Address(False, False)
            wformula = "=SUM('" & ini & ":" & fin & "'!" & wadd & ")"
            c.Formula = wformula
        End If
    Next
    r.Copy
    Range("E19,E25,E31,E37,E43,E49,E55,E61,E67,E73,E79,E85,E91," & _
          "E97,E103,E109,E115,E121,E127,E133,E139,E145,E151").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    'MsgBox "Fórmulas actualizadas"
End Sub

Avísame cualquier duda.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas