Seleziona un'intera colonna meno la riga di intestazione in una macro di Excel


8

Come potrei accedere a un intervallo che corrisponde a un'intera colonna a partire dalla riga 2 (c'è una riga di intestazione)?

La fine della selezione dovrebbe essere l'ultima cella non vuota nella colonna.

Risposte:



2

Prova questo:

Range(Range("A2"),Range("A2").End(xldown)).Select

o questo:

Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select

2

Facendo riferimento a questa risposta SO , l'unico metodo sicuro è il .find()metodo.
Tutti gli altri metodi possono dare risultati errati se in precedenza hai eliminato alcune celle.

Esempio per ottenere le ultime celle

Lastrow =  Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol =  Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column

E una risposta specifica alla tua domanda (supponendo che i tuoi dati siano nella colonna 2, a partire dalla riga 2)

Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select

inserisci qui la descrizione dell'immagine


1

È possibile utilizzare le scorciatoie da tastiera di Excel. Prova Ctrl+ Home.

Questo porterebbe alla cella A1 (se non hai utilizzato il riquadro di blocco). Scendi una cella verso il basso e quindi usa i pulsanti Ctrl+ Shift+ Down arrowper selezionare fino all'ultima riga inserita.

Se è necessario selezionare il valore della colonna, utilizzare il right arrowpulsante anziché il down arrowpulsante.


0

Questo pezzo di codice fa una media di tutto tranne l'intestazione con l'intestazione nella cella "B1"

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.