Salve a tutti!
semplifico visto che insieme al vostro aiuto il mio file si è complicato tantissimo e spero di restare chiaro ;)
La mia esigenza è la seguente:
ho due fogli di lavoro il primo si chiama "Da comunicare" il secondo "test" il foglio test contiene record ordinati e la "chiave" di ricerca è in colonna A.
nel foglio "Da comunicare" arrivano tramite macro dei record che popolano la tabella sulla seconda riga facendo scorrere i record verso il basso.
subito dopo aver inserito la nuova riga nella cella O2 mi serve impostare un cerca verticale di questo tipo
=CERCA.VERT(H2;Test!A:D;3;FALSO)
ma primo problema se non trova occorrenza mi dovrebbe restituire "blank" e non il maledetto #N/D
perche poi altro controllo che vorrei mettere è se il valore in O2 <> blank
colora la riga da "A2:Q2" di rosso.
Ma non funziona ho fatto mille prove e mi perdo!
ho provato con se val errore IF(ISERROR(VLOOKUP ma poi mi sa che sbaglio qualcosa con gli apici o i ; ;(
la strada che stavo percorrendo è questa .... ma come si sistema?
meglio fare un ciclo che scorre tutte i record di test e se non trova nulla scrive blank mentre se lo trova scrive il valore di colonna tre e colora la riga di rosso?
ma come?
Range("O2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],test!C[-14]:C[-11],3,FALSE)"
Range("P2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-8],test!C[-15]:C[-12],4,FALSE)"
Range("O2:P2").Select
Selection.Copy
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
If Range("O2").Value <> "" Then
Range("A2:Q2").Interior.ColorIndex = 3
Else
End If