Ciao Fabio,
r è il numero di riga, c è quello delle colonne
ho iniziato il conteggio dalla riga 7 fino alla riga 13 a step di 2 come nel tuo esempio e dalla colonna 5 perché ci sarà l'intestazione, 2 celle da controllare e una con il trattino fino alla colonna 30, da cambiare con il numero massimo di colonne da verificare per la lettera H.
A questo punto vengono vengono controllate le celle per riga per vedere se contengono la lettera H o meno, in caso negativo la macro passa alla successiva cella.
In caso positivo controlla che le cella sulla stessa riga e due colonne prima (
Cells(r, c - 2).Value) o quelle sulla riga successiva (r+1) e sempre due colonne prima (
Cells(r+1, c - 2).Value) contengano P2 o M2, in caso positivo cambia il valore della cella in H2 altrimenti controlla se le stesse celle contengono M3 o P3 e in caso positivo cambiano la cella in H3.
alla fine del controllo, se ha trovato la lettera H salta di due colonne perché a destra ci sarà come minimo ci sarà la casella con M o P e il trattino
Io ho usato questo metodo per velocizzare l'esecuzione della macro perché mi pareva inutile controllare celle con un risultato sicuramente falso, però se cambia la struttura del file puoi cambiare facilmente righe e colonne ed eventuali salti
Se ti serve aiuto chiedi pure, se la questione è risolta avvisa gli amministratori in modo da chiudere la discussione
---
pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione