Prova con questa mia macro da mettere in un modulo standard ed associarla ad un pulsante e vedi se soddisfa la tua richiesta altrimenti puoi sempre utilizzarla come base di partenza ed adattarla al tuo progetto (che io non posso valutare per bene dato che non hai allegato un file esempio).Ho anche presunto che in riga 1 vi siano dei titoli.
Option Explicit
Sub Cerca_Riporta()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim matr As String
Dim rng1 As Range
Dim rng2 As Range
Dim cella As Range
Dim art1 As Range
Dim art2 As Range
Dim trova As Boolean
Set sh1 = Sheets("ARTICOLI")
Set sh2 = Sheets("ANALISI")
matr = InputBox("Matricola da cercare ?", Title:="Ricerca ...")
If matr = "" Then
MsgBox "Nessuna matricola da cercare", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
Set rng1 = sh1.Range("B2:B" & sh1.Range("B" & sh1.Rows.Count).End(xlUp).Row)
Set rng2 = sh2.Range("D2:D" & sh2.Range("D" & sh2.Rows.Count).End(xlUp).Row)
For Each cella In rng2
If UCase(cella) = UCase(matr) Then 'confrontali in maiuscolo
Set art2 = cella.Offset(0, -2)
Set art1 = rng1.Find(art2, LookIn:=xlValues, LookAt:=xlWhole)
art1.Offset(0, 11).Copy cella.Offset(0, 3)
trova = True
End If
Next cella
If trova = False Then MsgBox "Matricola non trovata"
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub