Buongiorno a tutti,

sto cercando di fare una piccola macro che copia alcuni dati da un foglio all'altro della stessa cartella. Quando nella riga del foglio sorgente ("Design List") vi è un'intestazione, riconoscibile dalla presenza in una specifica cella dalla scritta "GROUP xxxx" dove xxxx può essere "0000", "1000", "2000", etc..., la riga "ricevente" i dati (nel foglio "Monthly report") dovrà essere formattata come un'intestazione (Grassetto, centrato, corsivo, etc...). Il problema è che la macro non riconosce (almeno così credo) la presenza dell'occorrenza "GROUP" tra fogli diversi. Il ciclo non entra mai all'interno della If seguente:

If InStr(1, Worksheets("Design List").Cells(x, 4) = "GROUP") = 1 then

Ho messo il seguente MsgBox prima della If precedente:

MsgBox Worksheets("Design List").Cells(x, 4) & " " &_
InStr(1, Worksheets("Design list").Cells(x, 4) = "GROUP", 1)

in modo da controllare cosa succedesse quando la macro legge la cella con la scritta "GROUP" (per capirci, Worksheets("Design List").Cells(x, 4); con x = 3; x= 59; etc....)
e il MsgBox mi dà p.e. "GROUP 2000 0", mentre invece dovrebbe dare inequivocabilmente "GROUP 2000 1".

La cosa che mi "indispettisce è che in quel foglio che ho indicato come sorgente, ("Design List"), vi è un'altra macro, che "agisce" solo in questo foglio, che ha un'istruzione del tutto simile a quella che mi dà problemi ma che, invece, funziona correttamente! Ecco l'istruzione:

If InStr(1, Cells(a, 4), "GROUP", 1) = 0 then

Anche in questo caso ho fatto alcuni controlli per vedere se funzionasse per "un mal funzionamento" ma invece è tutto ok. Per esempio, il MsgBox che ho messo prima dell'ultima If, mi restituisce giustamente "GROUP 3000 1" riconoscendo, quindi l'occorrenza "GROUP".
La domanda è "PERCHè?"; cosa sbaglio nel primo caso? Come posso correggere?

Grz