¿Cómo podría hacer para que una celda (A1) muestre siempre la primera celda visible de una lista filtrada (A5:A50) en Excel?

Tengo un problema en el que ando atascado que me gustaría que alguno me echara una mano. Tengo una lista de valores que controlo mediante un filtro de selección (A5:A50), y lo que necesito es mostrar en A1 el valor de la celda primera visible de la lista después de filtrar.

Gracias por adelantado. Javier.

1

1 Respuesta

3.771.700 pts. Si me amas, siempre voy a estar en tu corazón; si me...

H o l a:

Para que algo se ejecute en automático en una hoja, debe ocurrir un evento, en la hoja existen varios eventos, por ejemplo, cuando seleccionas una celda, o modificas una celda, o hay un cálculo en la hoja, en fin, hay varios. Pero cuando creas un autofiltro o modificas el filtro actual en un autofiltro, no está ocurriendo ningún evento en la hoja, por lo tanto no podría ser en automático poner el dato en la celda A1.

Lo que te sugiero es lo siguiente, realiza tu autofiltro en tu selección de A5 a A50, selecciona la celda A1 y entonces sí, en automático en la celda A1 te pondrá el valor de la primera celda visible.

Pon la siguiente macro en los eventos de tu hoja:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target.Address(False, False) <> "A1" Then Exit Sub
    [A1] = ""
    For i = 5 To 50
        If Rows(i).Hidden = False Then
            [A1] = Cells(i, "A")
            Exit For
        End If
    Next
    [A2].Select
End Sub

Prueba y me comentas.


':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas