Come trovare la riga successiva in VBA di Microsoft Excel 2010
Trovare la riga successiva significa trovare l’ultima riga utilizzata +1. Trovare l’ultima riga o colonna utilizzata è una delle attività di base e importanti per qualsiasi automazione in Excel utilizzando VBA. Per compilare fogli, cartelle di lavoro e disporre i dati automaticamente, è necessario trovare il limite dei dati sui fogli.
Questo articolo spiegherà ogni metodo per trovare l’ultima riga e colonna in Excel nei modi più semplici.
1. Trova l’ultima riga non vuota in una colonna utilizzando Range.End Vediamo prima il codice. Spiegherò la lettera.
Sub getLastUsedRow() Dim last_row As Integer last_row = Cells(Rows.Count, 1).End(xlUp).Row ‘This line gets the last row Debug.Print last_row End Sub
Il sottotitolo sopra trova l’ultima riga nella colonna 1.
Come funziona?
È proprio come andare all’ultima riga di un foglio e quindi premere la scorciatoia CTRL + SU.
Celle (Rows.Count, 1): questa parte seleziona la cella nella colonna A. Rows.Count fornisce 1048576, che di solito è l’ultima riga nel foglio Excel.
Celle (1048576, 1) .End (xlUp): End è un metodo di classe di intervallo che viene utilizzato per navigare nei fogli fino alle estremità. xlUp è la variabile che indica la direzione. Insieme, questo comando seleziona l’ultima riga con i dati.
Cells (Rows.Count, 1) .End (xlUp) .Row: .row restituisce il numero di riga della cella selezionata. Quindi otteniamo il numero di riga dell’ultima cella con i dati nella colonna A. nel nostro esempio, è 8.
Scopri quanto è facile trovare le ultime righe con i dati. Questo metodo selezionerà l’ultima riga nei dati indipendentemente dalle celle vuote prima di essa. Puoi vedere che nell’immagine solo la cella A8 contiene dati. Tutte le celle precedenti sono vuote tranne A4.
Seleziona l’ultima cella con i dati in una colonna Se vuoi selezionare l’ultima cella in una colonna, rimuovi semplicemente “.row” dalla fine e scrivi .select.
Sub getLastUsedRow() Cells(Rows.Count, 1).End(xlUp).Select ‘This line selects the last cell in a column End Sub
Il comando “.Select” seleziona la cella attiva.
Ottieni la colonna dell’indirizzo dell’ultima cella Se vuoi ottenere l’indirizzo dell’ultima cella nella colonna A, rimuovi semplicemente “.row” dalla fine e scrivi .address.
Sub getLastUsedRow() add=Cells(Rows.Count, 1).End(xlUp).address ‘This line selects the last cell in a column Debug.print add End Sub
La funzione Range.Address restituisce l’indirizzo della cellula attiva.
Trova l’ultima colonna non vuota in una riga È quasi come trovare l’ultima cella non vuota in una colonna.
Qui stiamo ottenendo il numero di colonna dell’ultima cella con i dati nella riga 4.
Sub getLastUsedCol() Dim last_col As Integer last_col = Cells(4,Columns.Count).End(xlToLeft).Column ‘This line gets the last column Debug.Print last_col End Sub
Puoi vedere nell’immagine che restituisce il numero di colonna dell’ultima cella non vuota nella riga 4. Che è 4.
Come funziona?
Bene, la meccanica è la stessa di trovare l’ultima cella con i dati in una colonna. Abbiamo appena utilizzato parole chiave correlate alle colonne.
Seleziona il set di dati in Excel utilizzando VBA Ora sappiamo come ottenere l’ultima riga e l’ultima colonna di Excel utilizzando VBA.
Usandolo possiamo selezionare facilmente una tabella o un set di dati. Dopo aver selezionato un set di dati o una tabella, possiamo eseguire diverse operazioni su di essi, come copia-incolla, formattazione, eliminazione ecc.
Qui abbiamo un set di dati. Questi dati possono espandersi verso il basso. Solo la cella iniziale è fissa, che è B4. L’ultima riga e colonna non è fissa. Dobbiamo selezionare l’intera tabella dinamicamente usando vba.
Codice VBA per selezionare la tabella con celle vuote
Sub select_table() Dim last_row, last_col As Long 'Get last row last_row = Cells(Rows.Count, 2).End(xlUp).Row 'Get last column last_col = Cells(4, Columns.Count).End(xlToLeft).Column 'Select entire table Range(Cells(4, 2), Cells(last_row, last_col)).Select End Sub
Quando lo esegui, l’intera tabella verrà selezionata in una frazione di secondo. Puoi aggiungere nuove righe e colonne. Selezionerà sempre tutti i dati.
Vantaggi di questo metodo:
-
È facile. Abbiamo letteralmente scritto solo una riga per ottenere l’ultima riga con i dati. Questo lo rende facile.
-
Veloce. Meno righe di codice, meno tempo impiegato.
-
Facile da capire.
-
Funziona perfettamente se hai una tabella di dati goffa con punti di partenza fissi.
Contro del metodo Range.End:
-
Il punto di partenza deve essere conosciuto.
-
Puoi ottenere solo l’ultima cella non vuota in una riga o colonna nota.
Quando il tuo punto di partenza non è fisso, sarà inutile. Che è molto meno probabile che accada.
2. Trova l’ultima riga utilizzando la funzione Find () Vediamo prima il codice.
Sub last_row() lastRow = ActiveSheet.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row Debug.Print lastRow End Sub
Come puoi vedere nell’immagine, questo codice restituisce accuratamente l’ultima riga.
Come funziona? Qui usiamo la funzione find per trovare qualsiasi cella che contiene qualsiasi cosa usando l’operatore jolly “*”. L’asterisco viene utilizzato per trovare qualsiasi cosa, testo o numero.
Impostiamo l’ordine di ricerca per righe (searchorder: = xlByRows). Indichiamo anche a excel vba la direzione della ricerca come xlPrevious (searchdirection: = xlPrevious).
Crea una funzione di ricerca per cercare dalla fine del foglio, per riga.
Una volta che trova una cella che contiene qualcosa, si ferma. Usiamo il metodo Range.Row per recuperare l’ultima riga dalla cella attiva.
Vantaggi della funzione Trova per ottenere l’ultima cella con i dati:
-
Non è necessario conoscere il punto di partenza. Ti fa solo l’ultima riga.
-
Può essere generico e può essere utilizzato per trovare l’ultima cella con i dati in qualsiasi foglio senza alcuna modifica.
-
Può essere utilizzato per trovare qualsiasi ultima istanza di testo o numero specifico sul foglio.
Contro della funzione Find ():
-
È brutto. Molti argomenti.
-
È lento.
-
Impossibile raggiungere l’ultima colonna non vuota. Tecnicamente puoi. Ma diventa troppo lento.
3. Utilizzo della funzione SpecialCells per ottenere l’ultima riga La funzione SpecialCells con l’argomento xlCellTypeLastCell restituisce l’ultima cella utilizzata. Vediamo prima il codice
Sub spl_last_row_() lastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row Debug.Print lastRow End Sub
Se esegui il codice sopra, otterrai il numero di riga dell’ultima cella utilizzata.
Come funziona?
Questo è l’equivalente vba della scorciatoia CTRL + Fine in Excel. Seleziona l’ultima cella utilizzata. Se registri la macro mentre premi CTRL + Fine, otterrai questo codice.
Sub Macro1() ' ' Macro1 Macro ' ' ActiveCell.SpecialCells(xlLastCell).Select End Sub
L’abbiamo usato solo per ottenere il numero di riga dell’ultima cella utilizzata.
Nota: come ho detto sopra, questo metodo restituirà l’ultima cella utilizzata non l’ultima cella con i dati. Se elimini i dati nell’ultima cella, il codice vba sopra restituirà comunque lo stesso riferimento di cella, poiché era “l’ultima cella utilizzata”. È necessario salvare prima il documento per ottenere l’ultima cella con i dati utilizzando questo metodo.
Spero che questo articolo su Come trovare la riga successiva in VBA Microsoft Excel 2010 sia esplicativo. Trova altri articoli sulle formule delle condizioni IF qui.
Se ti sono piaciuti i nostri blog, condividilo con i tuoi amici su Facebook. E puoi anche seguirci su Twitter e Facebook. Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected].
Articoli correlati:
link: / applications-word-outlook-in-vba-get-started-with-excel-vba-userforms [Getting Started With Excel VBA UserForms]
: Spiegherò come creare un modulo in Excel, come usare VBA toolbox, come gestire gli input dell’utente e infine come memorizzare gli input dell’utente. Affronteremo questi argomenti utilizzando un esempio e una guida passo passo.
link: / general-topics-in-vba-vba-variables-in-excel [VBA variables in Excel]
: VBA sta per Visual Basic for Applications.
È un linguaggio di programmazione di Microsoft. Viene utilizzato con applicazioni di Microsoft Office come MSExcel, MS-Word e MS-Access mentre le variabili VBA sono parole chiave specifiche.
link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope]
: In tutti i linguaggi di programmazione, abbiamo specificatori di accesso alle variabili che definiscono da dove è possibile accedere a una variabile definita. Excel VBA non fa eccezione. Anche VBA ha specificatori di ambito.
link: / celle-intervalli-righe-e-colonne-in-vba-qual-è-la-differenza-tra-byref-e-byval-argomenti-vba-interview-question [ByRef and ByVal Arguments]
: Quando un argomento viene passato come argomento ByRef a un diverso sub o funzione, viene inviato il riferimento della variabile effettiva. Qualsiasi modifica apportata alla copia della variabile si rifletterà nell’argomento originale.
Articoli popolari:
link: / tips-if-condition-in-excel [Come usare la funzione IF in Excel]
: L’istruzione IF in Excel verifica la condizione e restituisce un valore specifico se la condizione è TRUE o restituisce un altro valore specifico se FALSE .
link: / formule-e-funzioni-introduzione-di-vlookup-funzione [Come utilizzare la funzione CERCA.VERT in Excel]
: Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare valori da intervalli diversi e lenzuola.
link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]
: Questa è un’altra funzione essenziale del dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.
link: / tips-countif-in-microsoft-excel [Come usare la funzione CONTA.SE in Excel]
: Conta i valori con le condizioni usando questa straordinaria funzione. Non è necessario filtrare i dati per contare valori specifici. La funzione Countif è essenziale per preparare la tua dashboard.