Come spostare una riga specifica in un nuovo foglio quando viene selezionata una casella di controllo in Excel?
Nell’uso quotidiano di Excel, si presentano spesso scenari in cui gli utenti devono spostare una riga in un altro foglio o foglio di lavoro a seconda che una casella di controllo sia selezionata, ad esempio elenchi di stato attività, moduli per l’elaborazione ordini e checklist per la revisione dati. Automatizzando questo processo, è possibile migliorare l’efficienza del flusso di lavoro e mantenere una visione chiara dei propri dati. Questo articolo illustra diverse soluzioni pratiche per spostare una riga specifica in un nuovo foglio quando una casella di controllo è selezionata, adattandosi a diverse preferenze operative ed esigenze di gestione dati.
- Sposta riga quando una casella di controllo è selezionata con codice VBA
- Formula Excel – Contrassegna e filtra le righe da spostare
Sposta riga quando una casella di controllo è selezionata con codice VBA
Se desideri spostare automaticamente una determinata riga in un foglio di lavoro specifico non appena viene selezionata una casella di controllo, VBA (Visual Basic for Applications) di Excel ti offre una soluzione altamente personalizzabile. Questo approccio è particolarmente efficace per chi gestisce grandi volumi di dati o ripete spesso questa operazione.
1. Apri il foglio di lavoro in cui devi spostare le righe in base allo stato di una casella di controllo. Passa alla scheda Sviluppo > Inserisci > Casella di controllo (controllo ActiveX) per inserire una casella di controllo nel foglio. Questo controllo ti permette di collegare azioni allo stato della casella. Guarda lo screenshot:

2. Fare clic con il pulsante destro del mouse sulla scheda del foglio in basso nella finestra di Excel, quindi scegliere Visualizza codice dal menu contestuale per aprire la finestra del codice corrispondente al foglio. Vedere lo screenshot:

3. Nella finestra di Microsoft Visual Basic for Applications visualizzata, copia e incolla il seguente codice VBA nella finestra del codice:
Codice VBA: Sposta la riga in un foglio di lavoro specificato quando una casella di controllo è selezionata
Private Sub CheckBox1_Click()
Dim xRg As Range
Dim xAddress As String
On Error Resume Next
If CheckBox1.value Then
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the range row you will move(single cell):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRg = xRg(1).EntireRow
xRg.Copy
ActiveWorkbook.Sheets("Sheet3").Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
xRg.Clear
Application.CutCopyMode = False
End If
End Sub Nota: Nel codice, Foglio3 e A1 indicano che la riga specificata verrà spostata nella prima riga del Foglio3. Modificali in base alle tue esigenze. Ad esempio, per spostare la riga nel Foglio2 a partire da B10, basterà aggiornare questi valori nel codice.
Presta attenzione durante la modifica della macro: modifiche errate potrebbero causare errori o spostamenti di dati non intenzionali. Salva sempre la cartella di lavoro prima di eseguire un nuovo codice VBA, in modo da poter annullare facilmente le modifiche, se necessario.
4. Dopo aver inserito il codice, premere Alt + Q sulla tastiera per uscire dall’editor VBA e tornare al foglio di lavoro di Excel.
5. Prima di utilizzare la funzionalità, assicurati di disattivare la Modalità progettazione nella scheda Sviluppo. Questo passaggio attiva il controllo casella di controllo, consentendogli di eseguire la macro VBA come previsto.

6. Ora fai clic sulla casella di controllo aggiunta. Verrà visualizzata una finestra di dialogo Kutools per Excel, che ti chiederà di selezionare la prima cella della riga o l’intera riga da spostare. Una volta effettuata la selezione, fai clic su OK. La riga specificata verrà immediatamente spostata nel foglio di lavoro designato, come definito nel codice VBA. Vedere lo screenshot:

Formula Excel – Contrassegna e filtra le righe da spostare
Una soluzione basata su formule permette di identificare rapidamente le righe da spostare non appena viene selezionata la relativa casella di controllo. Questo approccio si rivela particolarmente efficace nelle tabelle per l’immissione dati, dove le caselle di controllo sono collegate a colonne ausiliarie. Le righe contrassegnate possono quindi essere filtrate e incollate manualmente in un altro foglio. Il metodo non richiede VBA ed è ideale quando non serve un’automazione rigorosa o quando l’uso delle macro è limitato.
Supponendo di avere caselle di controllo nell’intervallo B2:B100 collegate alle celle C2:C100 e che i dati siano presenti in A2:B100, è possibile utilizzare una colonna ausiliaria (ad esempio la colonna D) con una formula per contrassegnare le righe selezionate:
1. Nella cella D2, inserisci la seguente formula:
=IF(C2=TRUE, "Move", "") 2. Premere Invio per confermare la formula, quindi copiarla verso il basso per applicarla a tutte le righe di dati (ad esempio da D2 a D100). È possibile farlo trascinando il quadratino di riempimento o facendo doppio clic sul suo angolo in basso a destra.
3. Ora puoi filtrare la colonna D per visualizzare solo «Sposta», selezionare le righe visibili (filtrate) e copiarle nel foglio di destinazione con Ctrl+C e Ctrl+V.
Suggerimento: Se le caselle di controllo non sono collegate a valori di cella, fai clic con il pulsante destro del mouse su ciascuna casella e imposta la proprietà Collegamento cella in modo che la selezione o la deselezione aggiorni una cella con i valori VERO o FALSO. In questo modo, la formula funzionerà correttamente.
Vantaggi: Non richiede macro e funziona perfettamente anche nei file condivisi.Svantaggi: Richiede alcuni passaggi manuali per spostare le righe contrassegnate.
Articoli correlati:
- Come spostare un’intera riga in un altro foglio in base al valore di una cella in Excel?
- Come spostare un’intera riga in fondo al foglio di lavoro corrente in base al valore contenuto in una cella in Excel?
Migliori Strumenti per la Produttività in Office
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.
- 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