Originariamente inviato da moussa
ciao
la stringa cercata po essere uguale o piccola della strigha in cui vado a cercare.
io ho fatto una cosa del genere po andare bene?

For i=0 To UBound()
n=0
If UCase$(Descrizione_Bom(i))<>"" Then
Do Until "Descrizione_Text1(n)" Like "*Descrizione_Bom(i)*"
Codice_Bom(i) = Codice_Text1(n)
n = n + 1
Lopp
Grazie
Ciao !
Cosi' non funziona, per una serie di motivi, il principale dei quali e' che scrivi il NOME della variabile DENTRO la stringa letterale cercata con LIKE...
Non va, eventualmente sarebbe: ... Like "*" & Descrizione_Bom(i) & "*".

Poi fai un po' di confusione con gli indici (i, n)... oltretutto se cerchi UNA descrizione la variabile Descrizione_Text1(i) non dovrebbe essere un vettore...

Prova cosi':
codice:
Codice=""
If Descrizione_Bom<>"" Then
  For i=0 To UBound(Descrizione_Text1)
    If Ucase$(Descrizione_Text1(i))  Like ("*" & Descrizione_Bom & "*") Then
      Codice = Left$(Descrizione_Text1(i), Instr(Descrizione_Text1(i), ";") -1)
      Exit For
    End If
  Next
End if
Sarebbe una buona idea inglobare il codice in una funzione apposita, per rendere il tutto un po' piu' strutturato...