Questo non può aiutare risponde direttamente alla tua domanda, ma è qualcosa che ho trovato utile quando si cerca di lavorare con gamme dinamiche che possono aiutarvi.
Supponiamo che nel foglio di lavoro di avere i numeri da 100 a 108 nelle celle A1: C3:
A B C
1 100 101 102
2 103 104 105
3 106 107 108
Quindi per selezionare tutte le celle è possibile utilizzare la proprietà CurrentRegion
:
Sub SelectRange()
Dim dynamicRange As Range
Set dynamicRange = Range("A1").CurrentRegion
End Sub
Il vantaggio di questo è che se si aggiungono nuove righe o colonne al proprio blocco di numeri (ad esempio 109, 110, 111), la CurrentRegion farà sempre riferimento all'intervallo ingrandito (in questo caso A1: C4).
Ho usato CurrentRegion un bel po 'nel mio codice VBA e trovo che sia più utile quando si lavora con intervalli dimensionati dinamicamente. Inoltre evita di dover inserire intervalli di codice nel codice.
Come nota finale, nel mio codice vedrete che ho usato A1 come cella di riferimento per CurrentRegion. Funzionerà anche a prescindere dalla cella di riferimento (prova: sostituire A1 con B2, ad esempio). Il motivo è che CurrentRegion selezionerà tutte le celle contigue basate sulla cella di riferimento.
fonte
2010-02-05 12:44:17
App.ActiveCell;) –