Buscar datos de acuerdo al nombre de la hoja

"Para Dante Amor" Tengo un libro con diferentes nombres de hojas (Código 1, Código 2, Código 3, etc.), y tengo una hoja principal (Transacciones). La idea es que al ingresar en la celda C12 de esta última hoja el código (que es el mismo nombre de las hojas, ej Código 1), me traiga el último dato diligenciado de las columnas h, i, j, k según corresponda a la hoja del código 1.

Es de resaltar que en la hoja transacciones puedo ingresar uno o varios códigos después de la celda c12 y el dato a calcular, es decir donde se espera el resultado deben estar en las celda AH12, AI12, AJ12, AK12

1 Respuesta

Respuesta
1

H o l a : Pon la siguiente macro en los eventos de tu hoja "Transacciones"

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C:C")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Row < 12 Then Exit Sub
        If Target.Value = "" Then Exit Sub
        For Each h In Sheets
            If UCase(h.Name) = UCase(Target) Then
                For j = Columns("H").Column To Columns("K").Column
                    u = h.Cells(Rows.Count, j).End(xlUp).Row
                    Cells(Target.Row, j + 26) = h.Cells(u, j)
                Next
                Exit For
            End If
        Next
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(Transacciones)
  4. En el panel del lado derecho copia la macro

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias! Funciona perfectamente, era lo que necesitaba.  Si es posible resolver la duda, ¿qué hace el j + 26?

La variable j empieza en la columna "H", le sumo 26 para que ponga el resultado en la columna "AH".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas