Te dejo la macro que necesitas.
Entrá al Editor (con ALt y F11)
Seleccioná con doble clic el objeto HOJA donde vayas a trabajar y allí copiá este código:
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla solo lo ingresado en A1
If Target.Address <> "$A$1" Then Exit Sub
'si se borra la celda no se ejecuta el resto
If Target = "" Then Exit Sub
'guarda la última celda con datos en col B
finx = Range("B" & Rows.Count).End(xlUp).Row
'se busca el dato ingresado en rango B
Set busco = ActiveSheet.Range("B9:B" & finx).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
'si no lo encuentra avisa
If busco Is Nothing Then
MsgBox "Este registro no se encuentra en la tabla."
Target = ""
Target.Select
Exit Sub
End If
'si lo encontró agrega el nro a la derecha en la primer col libre
filx = busco.Row: colx = 3
While Cells(filx, colx) <> ""
colx = colx + 1
Wend
'ya tengo la col libre, allí copio el valor ingresado en A1
Cells(filx, colx) = Target.Value
'limpia la celda para repetir el ingreso
Target = ""
Target.Select
End Sub
Como no quedó claro en tu consulta hasta cuántas veces se puede registrar un nro, en mi ejemplo no tiene límite.
El bucle: While Cells(filx, colx) <> "" hará que se vayan colocando a derecha del registro encontrado.
Comentame si así es cómo lo necesitas o lo querrás acotar y en ese caso hasta cuánto.