KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come si fa a numerare automaticamente le righe in Excel quando la cella adiacente non è vuota?

AutoreXiaoyang Data di modifica
numera automaticamente le righe se la cella adiacente non è vuota

In Excel, utilizzare il quadratino di riempimento per creare manualmente una serie di numeri è un metodo comune per generare numeri progressivi o indici per elenchi. Tuttavia, spesso si presentano situazioni in cui si desidera numerare le righe soltanto se la cella adiacente specifica contiene dati. Ad esempio, potresti voler generare automaticamente Imposta numero di righe in un elenco, ma saltare la numerazione laddove le celle adiacenti sono vuote. Inoltre, potresti volere che questi numeri si aggiornino istantaneamente non appena vengono inseriti o rimossi dati, garantendo sempre una sequenza aggiornata senza intervento manuale.

Numerare automaticamente le righe se la cella adiacente non è vuota con una formula

Numerare automaticamente le righe se la cella adiacente non è vuota con codice VBA


freccia blu con fumetto a destraNumerare automaticamente le righe se la cella adiacente non è vuota con una formula

Un modo efficiente per ottenere una numerazione dinamica delle righe in base ai valori delle celle adiacenti è utilizzare una formula Excel. In questo modo, il numero di riga viene visualizzato solo quando la cella adiacente contiene un valore e si aggiorna automaticamente non appena aggiungi o rimuovi dati. Ecco un metodo pratico da applicare:

1. Seleziona la cella in cui desideri far iniziare la numerazione (ad esempio,)A2 se i tuoi dati iniziano in B2). Inserisci la seguente formula:

=IF(B2<>"",COUNTA($B$2:B2),"")
Suggerimento: Questa formula verifica se la cella B2non è vuota. Se nella cella B2è presente un dato, conta tutte le celle non vuote da B2fino alla riga corrente, creando una sequenza continua per le righe che contengono valori. Se B2è vuota, la formula restituisce una cella vuota.

2. Trascina poi il quadratino di riempimento lungo i tuoi dati per applicare la formula alle altre righe: la numerazione si aggiornerà automaticamente, mostrando numeri solo nelle righe in cui è presente un dato nella colonna B.

numera automaticamente se non vuoto con formula

Nota: Questo metodo è particolarmente utile per elenchi in cui nuovi dati possono essere inseriti, eliminati o modificati in qualsiasi momento, poiché la sequenza rimarrà sempre corretta senza necessità di rinumerazione o ricalcolo manuale. Tuttavia, tieni presente che, se nel tuo elenco sono presenti celle vuote intenzionali (ad esempio, spazi deliberati), tali righe non verranno numerate.

Se riscontri problemi per cui i numeri non si aggiornano come previsto, verifica che la formula sia stata copiata in tutte le righe pertinenti e che non vi siano Unito o convalide dei dati che interferiscano con l’intervallo. Ricorda che le formule dipendono da riferimenti precisi e possono essere compromesse da modifiche strutturali al foglio di lavoro.


freccia blu con fumetto a destraNumerare automaticamente le righe se la cella adiacente non è vuota con codice VBA

Per utenti più esperti, o quando preferisci evitare di applicare formule all’intero foglio di lavoro – ad esempio perché devi garantire che la numerazione si aggiorni automaticamente anche in seguito a operazioni come incollare dati, eliminare blocchi o apportare modifiche frequenti – una macro VBA rappresenta un’alternativa efficace. Grazie a VBA, puoi aggiornare automaticamente il numero di righe in una colonna ogni volta che la cella adiacente viene modificata, senza dover ricorrere a formule. Questa soluzione è ideale per moduli di immissione dati, registri di importazione o elenchi attività soggetti a frequenti variazioni di layout.

1. Premi Alt + F11 per aprire la finestra dell'editor di Visual Basic for Applications. Nell'Esplora progetti, individua la tua cartella di lavoro, quindi fai doppio clic sul foglio pertinente (ad esempio, “Foglio1”) sotto “Oggetti Microsoft Excel”.

2. Nella finestra del codice visualizzata, incolla il seguente codice. Questo esempio presuppone che tu voglia numerare le righe nella colonna A in base al fatto che la colonna B non sia vuota; puoi adattare i riferimenti all’intervallo specifico che utilizzi, se necessario:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chk As Range
    Set chk = Intersect(Target, Me.Columns("B"))
    If chk Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    Call RenumberNonBlank(Me, "B", "A", 2)
    Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
                    keyCol As String, _
                    numCol As String, _
                    firstDataRow As Long)
    Dim lastRow As Long
    Dim r As Long
    Dim seq As Long
    lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
    seq = 1
    For r = firstDataRow To lastRow
        With ws
            If Trim(.Cells(r, keyCol).Value) <> "" Then
                .Cells(r, numCol).Value = seq
                seq = seq + 1
            Else
                .Cells(r, numCol).ClearContents
            End If
        End With
    Next r
End Sub

3. Salva e chiudi l'editor VBA. Ora, ogni volta che aggiungerai, modificherai o svuoterai il contenuto della colonna B, la colonna A verrà rinumerata automaticamente, riflettendo in tempo reale la presenza (o l’assenza) di dati. La numerazione si adatterà dinamicamente, spostandosi in alto o in basso man mano che aggiungi o rimuovi voci nella colonna B.

Note e precauzioni:Questa macro deve essere inserita specificamente nella finestra del codice del foglio di lavoro desiderato (non in un modulo né in ThisWorkbook) per rispondere alle modifiche delle celle. Assicurati inoltre che le macro siano abilitate nelle impostazioni di Excel, altrimenti il codice non funzionerà. Se il tuo «Intervallo dati» si sposta su colonne diverse da A e B, aggiorna di conseguenza le righe Set chk = Intersect(Target, Me.Columns("B")) e Call RenumberNonBlank(Me, "B", "A", 2).

Risoluzione dei problemi: Se la numerazione non si aggiorna, assicurati di stare modificando il foglio corretto e che il codice sia stato inserito nella finestra del codice del foglio appropriato. Verifica inoltre di aver salvato la cartella di lavoro come file abilitato alle macro (.xlsm). In caso di errori imprevisti, controlla nuovamente di non aver alterato la struttura del foglio di lavoro, ad esempio unendo celle o modificando i dati nelle righe di intestazione.


Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi