Macro que al hacer doble click me lleve a la hoja que contenga dato

Una macro que al hacer click en cualquier celda de la columna I, me busque el valor de la celda donde he hecho click en todas las hojas del libro por la celda B15.

3 Respuestas

Respuesta
1

Y me sitúe en esa hoja encontrada

Respuesta
1

Pon la siguiente macro en los eventos de tu hoja.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Por.Dante Amor
    If Not Intersect(Target, Range("I:I")) Is Nothing Then
        If Target.Value = "" Then Exit Sub
        For Each h In Sheets
            Set b = h.Columns("B").Find(Target, lookat:=xlWhole)
            If Not b Is Nothing Then
                h.Select
                b.Select
                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(tu hoja)
  4. En el panel del lado derecho copia la macro

Dale doble clic a cualquier dato de la columna I y en automático te llevará a la hoja que contenga el dato.


.

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

.

Avísame cualquier duda

.

Respuesta

Con esta macro cuando le des doble click te colocara en la página donde se encuentre el dato, solo copia y pega en el modulo de la hoja donde tengas los datos en la columna I

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set funcion = WorksheetFunction
inicio = ActiveSheet.Name
columna = Range("i1").Column
columna2 = ActiveCell.Column
If columna2 = columna Then
    valor = ActiveCell
    For Each hoja In Worksheets
        nombre = hoja.Name
        If nombre <> inicio Then
        Set datos = Worksheets(nombre).Range("b:b")
        On Error Resume Next
        fila = funcion.Match(valor, datos, 0)
        If Err.Number > 0 Then GoTo siguiente:
        On Error GoTo 0
        Sheets(nombre).Select
        datos.Cells(fila).Select
        End If
siguiente:
    Next hoja
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas