Per praticità copierei nel foglio2, a partire dalla cella a1, l'lelenco delle 1800 aziende, lasciando nel foglio1 (fai attenzione che i nomi dei due fogli siano proprio quelli) l'elenco più lungo.
A questo punto lancia questa macro
codice:
Sub trova()
'Application.ScreenUpdating = False
For Each cella In Range("foglio2!a1:a1756")
For Each cella2 In Range("foglio1!b2:b62819")
If cella2.Value <> "" And cella.Value <> "" Then
If InStr(1, cella2, cella, vbTextCompare) > 0 Then
With Sheets("Foglio1")
.Range("f" & cella2.Row & ":i" & cella2.Row).Copy Destination:=Foglio2.Range("b" & cella.Row)
End With
End If
End If
Next cella2
Next cella
'Application.ScreenUpdating = True
End Sub
Eseguila dopo esserti posizionato nel foglio2, in modo da assistere in tempo reale a ciò che avviene.
Per precauzione testa lo script su una copia del file.
La macro è pesantissima. Se dovesse esserci qualsiasi problema per interrompere l'esecuzione della stessa premi ctrl+pausa.