Ésta macro me funciona, pero no se si es la más rápida, ya que está hecha de retales.
Sub Copia_Albaran()
Dim fila1 As Integer, filafinal As Integer, albaran As Integer, ultimo As Integer
Dim cliente As String
Dim fecha As Date
Set h1 = Sheets("COPIA ALBARAN")
Set h2 = Sheets("BDFACTURACION")
'-Si hay datos en la factura preguntar si se borran los datos
h1.Select
If h1.Range("F2:F2").Value <> "" Or h1.Range("F6:F6").Value <> "" Then
 Validar = MsgBox("CONFIRMA BORRAR DATOS? ", vbOKCancel, "BORRADO DE DATOS")
 If Validar = vbOK Then
 h1.Select
 h1.Range("Prim_Albaran").ClearContents
 h1.Range("F2:F6").ClearContents
 Application.ScreenUpdating = False
 Else
 Exit Sub
 End If
End If
Application.ScreenUpdating = False
'Pregunta nº de albaran a duplicar
h1.Range("F6").Select
 ActiveCell.Value = Val(InputBox("Nº Albaran", "Nº Albaran", "1", 14370, 5300))
 Selection.Copy
 Selection.PasteSpecial Paste:=xlValues
 albaran = Range("F6").Value
'Pasa a hoja (BDFACTURACION)
h2.Select
h2.Range("E5").Select
ultimo = h2.Range("E2").Value
'Confirma si existe el nº de albaran solicitado
If albaran > ultimo Or albaran = 0 Then
 MsgBox "COMPRUEBE Nº DE ALBARAN" & Chr(10) & "ALBARAN NO EXISTE" & _
 Chr(10) & Chr(10) & "NO PASO NADA", vbOKCancel, "NO HAY DATOS"
 'Borra el nº ingrsado en F6 y que no existe o es (0)
 h1.Range("F6").Value = ""
 Application.CutCopyMode = False
 Exit Sub
Else
 'Coger direccion de la primera fila
 While ActiveCell.Value <> albaran
 ActiveCell.Offset(1, 0).Select
 Wend
 'Primera fila (fila1) del albaran
 fila1 = ActiveCell.Row
 'Guarda la fecha del albaran
 fecha = ActiveCell.Offset(0, 1).Value
 'Guarda el cliente del albarán
 cliente = ActiveCell.Offset(0, 13).Value
 'Coger direccion de la ultima fila
 While ActiveCell.Value = albaran
 ActiveCell.Offset(1, 0).Select
 Wend
 'Ultima fila del albaran
 filafinal = ActiveCell.Offset(-1, 0).Row
 'Copia los datos del albaran y los ingresa en hoja (COPIA ALBARAN) a partir de la fila 15
 filapre = 15
 h2.Range("G" & fila1 & ":N" & filafinal).Select
 Selection.Copy
 ActiveSheet.Paste Destination:=Sheets("COPIA ALBARAN").Cells(filapre, 1)
 Application.CutCopyMode = False
 'Rellena la celda de cliente
 h1.Range("F2").Value = cliente
 'Rellena la celda de la direccion del cliente mediante una busqueda
 h1.Range("F3").FormulaR1C1 = _
"=VLOOKUP(R[-1]C, CLIENTES!R[-1]C[-3]:R[82]C[3], 5,0)"
 h1.Range("F5").Value = fecha
 'Guarda el libro
 ActiveWorkbook.Save
 h1.Select
 Range("F2").Activate
 Application.ScreenUpdating = True
End If
End Sub