Come spostare un'intera riga in un altro foglio in base al valore della cella in Excel?
Per spostare un'intera riga in un altro foglio in base al valore della cella, questo articolo ti sarà di aiuto.
Sposta un'intera riga in un altro foglio in base al valore della cella con il codice VBA
Sposta un'intera riga in un altro foglio in base al valore della cella con Kutools per Excel
Sposta un'intera riga in un altro foglio in base al valore della cella con il codice VBA
Come mostrato nello screenshot sottostante, devi spostare l'intera riga da Foglio1 a Foglio2 se esiste una parola specifica “Done” nella colonna C. Puoi provare il seguente codice VBA.
1. Premi contemporaneamente i tasti Alt+ F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Modulo. Poi copia e incolla il seguente codice VBA nella finestra.
Codice VBA 1: Sposta un'intera riga in un altro foglio in base al valore della cella
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Nota: Nel codice, Foglio1 è il foglio di lavoro che contiene la riga che desideri spostare. E Foglio2 è il foglio di destinazione dove posizionerai la riga. “C:C” è la colonna che contiene un certo valore, e la parola “Done” è il valore specifico in base al quale sposterai la riga. Cambiali in base alle tue esigenze.
3. Premi il tasto F5 per eseguire il codice, quindi la riga che soddisfa i criteri in Foglio1 verrà immediatamente spostata in Foglio2.
Nota: Il codice VBA sopra cancellerà le righe dai dati originali dopo averle spostate in un foglio di lavoro specificato. Se vuoi solo copiare le righe in base al valore della cella invece di eliminarle, applica il seguente codice VBA 2.
Codice VBA 2: Copia un'intera riga in un altro foglio in base al valore della cella
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Sposta un'intera riga in un altro foglio in base al valore della cella con Kutools per Excel
Se sei nuovo nel codice VBA, qui ti presento lo strumento Seleziona celle specifiche di Kutools per Excel. Con questo strumento, puoi facilmente selezionare tutte le righe in base a un determinato valore di cella o diversi valori di cella in un foglio di lavoro e copiare le righe selezionate nel foglio di lavoro di destinazione come necessario. Procedi come segue.
1. Seleziona la lista delle colonne che contiene il valore della cella in base al quale sposterai le righe, poi clicca su Kutools > Seleziona > Seleziona celle specifiche. Vedi screenshot:
2. Nella finestra di dialogo Seleziona celle specifiche che si apre, scegli Riga intera nella sezione Tipo di selezione, seleziona Uguale a nell'elenco a discesa Tipo specifico, inserisci il valore della cella nella casella di testo e poi clicca sul pulsante OK.
Un'altra finestra di dialogo Seleziona celle specifiche si apre per mostrarti il numero di righe selezionate, e nel frattempo, tutte le righe contenenti il valore specificato nella colonna selezionata sono state selezionate. Vedi screenshot:
3. Premi i tasti Ctrl + C per copiare le righe selezionate, e poi incollale nel foglio di lavoro di destinazione di cui hai bisogno.
Nota: Se vuoi spostare righe in un altro foglio di lavoro in base a due diversi valori di cella. Ad esempio, sposta le righe in base ai valori delle celle "Done" o "Processing", puoi abilitare la condizione Or nella finestra di dialogo Seleziona celle specifiche come mostrato nello screenshot sottostante:
Se desideri provare gratuitamente (30-giorno) questa utility, fai clic per scaricarla e poi vai ad applicare il calcolo seguendo i passaggi sopra indicati.
Articoli correlati:
I 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 oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!