Macro que busque fila donde se encuentre valor

Para Dante Amor.

Quisiera un código que buscase valor range("a2") en dicha columna ("a:a") que contiene una relación nominal que empieza en "a5" y situe el cursor a la derecha de dicho valor buscado a partir de la celda que tenga libre (vacia).

Para entendernos sería como una columna con los nombres de socios-abonados y a su derecha se pondrán los pagos efectuados. Entonces se puede dar el caso de que la celda de columna inmediata "B" esté ocupada y en ese caso el cursor ha de irse al siguiente inmediato.

1 respuesta

Respuesta
1

Te anexo la macro para que la pongas en un botón.

Sub buscar()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    If u = 2 Then u = 5
    Set b = Range("A5:A" & u).Find([A2], LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not b Is Nothing Then
        c = Cells(b.Row, Columns.Count).End(xlToLeft).Column + 1
        Cells(b.Row, c).Select
    End If
End Sub

si quieres que sea en automático después de modificar la celda A2, pon esta macro en los eventos de tu hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        u = Range("A" & Rows.Count).End(xlUp).Row
        If u = 2 Then u = 5
        Set b = Range("A5:A" & u).Find([A2], LookIn:=xlFormulas, LookAt:=xlWhole)
        If Not b Is Nothing Then
            c = Cells(b.Row, Columns.Count).End(xlToLeft).Column + 1
            Cells(b.Row, c).Select
        End If
    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. Del lado derecho copia la macro

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas