Pegar datos en última columna vacía

Estoy liado con una plantilla en la que quiero hacer lo siguiente. Necesito mediante una macro buscar una celda con un valor determinado en una columna:Cuando lo encuentre debería recorrer esa fila hasta encontrar la primera columna vacía de esa fila y pegar el texto en ella.
Me he quedado en como buscar un valor en la columna. Me copia el valor de la celda "O3", busca en la columna B de la hoja2 el valor de la celda ("E5") de la hoja 1 y... Como hago para que busque en esa fila la última celda vacía y pegue el valor de ("O3"):
Sheets("hoja1").Select
Range("O3").Select
Selection.Copy
Sheets("hoja2").Select
Range("B5").Select
Do While ActiveCell.Value <> Range("hoja1!E5")
No paso de ahí.
Respuesta
1
Prueba este código:
Sub busca()
Dim rango As Range, buscado As Variant, cel As Variant
Set rango = Range("A1:D10")
buscado = InputBox("Que?")
If IsNumeric(buscado) Then buscado = 1 * buscado
For Each celda In rango
If celda = buscado Then cel = Cells(celda.Row, Columns.Count).End(xlToLeft).Column + 1: _
celda.Select: Selection.Copy (Cells(celda.Row, cel)): Exit For
Next
End Sub
Unicamente debes modificar el rango de la búsqueda para adaptarlo al tuyo, y también tener en cuenta que en caso de haber valores repetidos siempre actuara sobre el primer valor encontrado.
Muchas gracias por tu ayuda. No es lo que buscaba. Me he explicado mal. Al final encontré la solución Me ha quedado así:
Sheets("hoja1").Select
Range("O3").Select
Selection.Copy
Sheets("hoja2").Select
Range("B5").Select
Do Until ActiveCell.Value = Range("hoja1!E5")
ActiveCell.Offset(1, 0).Select
Loop
With Selection.End(xlToRight).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
Era más sencillo de lo que me has propuesto que, por cierto, me va a venir de perlas para otra plantilla que estoy diseñando.
Muchas gracias por tu tiempo y conocimiento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas