Buscar hoja y devolver una celda de esa hoja

Tengo diferentes hojas con los datos y resultados de ventas de cada comercial. (Una hoja para cada comercial). He creado a modo de resumen, como un informe, otra hoja en la que quiero tener ciertos datos de todos los comerciales.

Si con la funcion BUSCARV le pido que me busque una celda en un rango concreto y me devuelva otra celda de la columna que le indico; ¿Existe la manera de decirle que me busque una hoja y me devuelva una celda en concreto de esa hoja?

(Ejemplo: buscame la hoja "Garcia, Juan" y devuelveme la celda D41, que es donde tengo las ventas del mes. Y luego hacer lo mismo con las 90 hojas de los 90 comerciales restantes. Así tendré todas las ventas de todos los comerciales en una columna, que ahora tengo en diferentes hojas, las de cada comercial.)

2 Respuestas

Respuesta

Te sugiero considerar desechar todas esas hojas, y pasar todos los datos a una misma hoja/tabla, sería lo correcto para tantos datos, de esa manera a través de una tabla dinámica se puede hacer más rápido y dinámico el informe de resumen.

Respuesta

Puede usar la fórmula en tu hoja de informe

=nombre de tu hoja!La celda que quiere ver hay

Ejemplo

=garcia!d41

En la hoja1 en la celda a1 puse 25 y como prodas ver en la hoja2 use la fórmula =hoja1! A1 y me muestra el valor que se encuentra en dicha hoja

Si te silve no olvidas valor y si necesitas más ayuda estamos para servile

Esta opción la tengo ya contemplada como ultima alternativa, pues son 90 hojas (con sus 90 nombres de comerciales) y luego diferentes celdas de cada hoja a devolver... Buscaba si había una opción más automatizada, quizás haría falta hacer una macro..

En la hoja "resumen" que he creado, digamos que tengo de A2:A91 los 90 nombres de las hojas, y quisiera poder decirle que me busque hoja A7 por ejemplo y me devuelva la celda H72. Seguramente hubiera sido todo más fácil en access, pero me lo han dado así y quiero ver si puedo recopilarlo.

Gracias de todos modos!

Buena Elena

Esta es la macro

En tu hoja reporte en la columna a desde la fila 2 escribe los nombre de las hojas tal cual lo tienes escrito los nombre con todo y mayúscula si tiene

ejemplo  asi si  Garcia = Garcia   asi no garcias = Garcias    

Si no esta escrito con esta en la hoja te dirá nombre de hoja no existe en este libro

Sub RecorrerHojas()

    colu = "A"

    ncolu = Columns("A").Column

    On Error Resume Next

    For i = 2 To Range(colu & Rows.Count).End(xlUp).Row

        hoja = Cells(i, colu)

        existe = False

        For Each h In Sheets

            If h.Name = hoja Then

                existe = True

                Exit For

            End If

        Next

        If existe Then

            Cells(i, ncolu + 1) = Sheets(hoja).[R20]

            Cells(i, ncolu + 2) = Sheets(hoja).[T20]

        Else

            Cells(i, ncolu + 1) = "nombre de hoja no existe en este libro"

        End If

    Next

    MsgBox "reporte terminado"

End Sub

Si te silve no olvide valorar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas