Recorrer fila hasta encontrar celda vacía a la derecha

Tengo una Hoja de Excel con Nombres de personas en la Primera columna, y con valores de cuotas y fechas de pago en las siguientes columnas hasta completar 10 cuotas, no he podido encontrar la forma de que cuando encuentre la persona en la columna se desplace hasta la primera columna en blanco de la fila actual y colocar el valor pagado y la fecha de pago.

Respuesta
1

Lo más cómodo es poner un textbox y un botón para realizar el trabajo.

Crea los dos controles y te quedará algo cómo esto:

Y el código del botón:

Private Sub CommandButton1_Click()
Dim c As Range
If TextBox1 <> "" Then
    cuota = 50 'Pon la cuota correspondiente'
    ultFil = Range("A" & Rows.Count).End(xlUp).Row
    With Range("A1:a" & ultFil)
        Set c = .Find(TextBox1.Value, LookIn:=xlValues)
        If Not c Is Nothing Then
            fil = Range(c.Address).Row
            ultCol = Cells(fil, Columns.Count).End(xlToLeft).Column
            Cells(fil, ultCol).Offset(0, 1).Value = cuota
            Cells(fil, ultCol).Offset(0, 2).Value = Date
            MsgBox ("Cuota añadida a " & TextBox1.Value)
          Else
             MsgBox ("No se ha encontrado a " & TextBox1.Value)
        End If
    End With
End If
End Sub

Si te ha valido la respuesta.

1 respuesta más de otro experto

Respuesta
2

Te anexo el código para que lo adaptes a tus datos. En la macro van unos comentarios para

Sub Pagos()
'Por.Dante Amor
    'pongo en las variables el nombre a buscar, el valor y la fecha
    nombre = "ana"
    valorpago = 100
    fechapago = Date
    'Busco el nombre en la columna A
    Set b = Columns("A").Find(nombre, lookat:=xlWhole)
    If Not b Is Nothing Then
        'encontró el nombre
        fila = b.Row
        col = Cells(fila, Columns.Count).End(xlToLeft).Column + 1
        Cells(fila, col) = valorpago
        Cells(fila, col + 1) = fechapago
        MsgBox "Valor actualizado"
    Else
        MsgBox "El nombre no existe"
    End If
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas