Nel messaggio privato precisi che le celle di partenza sono A9:A40, mentre qui abbiamo sempre parlato di $A$1. Inoltre, anche interpretando questo topic come la continuazione di un altro risolto il gg 6-7, non sono ancora certo di come hai organizzato i dati; insomma rispondo a tentoni a pezzi dello stesso problema che vengono svelati uno dopo l' altro...
Mentre sarebbe meglio spiegare tutto bene subito, cosi' si risponde subito nella direzione giusta; capisco che a volte sembra di dover svelare sofisticate architetture dati, ma se si chiede aiuto bisogna essere trasparenti ed espliciti.
Lo scrivo a te, aaa, ma in realta' lo dico ai tanti che chiedono (e spesso ottengono) aiuto sul forum.
Cio' detto, credo che tu abbia voglia di azzerare le caselle Bn:Fn se cambi un valore in An, con n variabile da 9 a 40. Se e' cosi', invece della macro di ieri userai questa:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A9:A40")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Range("B1:F1").Select '<<<< vedi testo
'Target.Range("B1:F1").ClearContents '<<<< vedi testo
'
'altre istruzioni se si cambia la cella Ax
'
Application.EnableEvents = True
End Sub
Istruzioni come ieri.
Cosi' come e' scritta, la macro seleziona solo l' area che ho capito che andrebbe azzerata; se la selezione e' corretta, allora togli l' apostrofo davanti all' istruzione .clearcontents e mettilo sull' istruzione .select, per abilitare l' azzeramento invece della selezione.
Fai questa operazione dopo aver collaudato bene la macro.
Se non e' questo che cercavi, ...riprova a descrivere.
Ciao, fai sapere.