Macro para buscar datos de acuerdo al nombre de la hoja

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 Codigo 1), me traiga el último dato diligenciado de la columna h 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 debe estar en la celda AH12

1 respuesta

Respuesta
1

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, Columns("C")) Is Nothing Then
        If Target.Count > Sheets.Count Then Exit Sub
        For Each c In Target
            Cells(c.Row, "AH") = ""
            For Each h In Sheets
                If UCase(h.Name) = UCase(c.Value) Then
                    Cells(c.Row, "AH").Value = h.Range("H" & h.Range("H" & Rows.Count).End(xlUp).Row).Value
                End If
            Next
        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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas