I cookie ci aiutano i nostri servizi. Utilizzando i nostri servizi, l'utente accetta di utilizzare i cookie.
Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Log In
x
or
x
x
Registrati
x

or

Come spostare l'intera riga su un altro foglio in base al valore della cella in Excel?

Per spostare l'intera riga su un altro foglio in base al valore della cella, questo articolo ti aiuterà.

Sposta l'intera riga su un altro foglio in base al valore della cella con il codice VBA

Sposta l'intera riga su un altro foglio in base al valore della cella con Kutools per Excel


Seleziona facilmente intere righe in base al valore della cella in una colonna certian:

La Seleziona celle specifiche utilità di Kutools for Excel può aiutarti a selezionare rapidamente intere righe in base al valore della cella in una colonna certiana in Excel come mostrato nell'immagine sottostante. Dopo aver selezionato tutte le righe in base al valore della cella, puoi spostarle o copiarle manualmente in una nuova posizione, come richiesto in Excel.

Kutools for Excel: con più di 200 pratici componenti aggiuntivi di Excel, liberi di provare senza limitazioni nei giorni 60. Scarica la versione di prova gratuita ora!


Sposta l'intera riga su un altro foglio in base al valore della cella con il codice VBA


Come mostrato nella figura sottostante, è necessario spostare l'intera riga da Sheet1 a Sheet2 se nella colonna C esiste una parola specifica "Done". È possibile provare il seguente codice VBA.

1. Stampa altro+ F11 tasti contemporaneamente per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nella finestra di Microsoft Visual Basic, fare clic su inserire > Modulo. Quindi copia e incolla il codice VBA sottostante nella finestra.

Codice VBA 1: sposta l'intera riga su 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

Note: Nel codice, Sheet1 è il foglio di lavoro contiene la riga che si desidera spostare. E Sheet2 è il foglio di lavoro di destinazione in cui posizionare la riga. “C: C"È la colonna contiene il determinato valore e la parola"fatto"È il valore certo con cui si sposterà la riga in base a. Si prega di cambiarli in base alle proprie esigenze.

3. premi il F5 chiave per eseguire il codice, quindi la riga che soddisfa i criteri in Sheet1 verrà spostata immediatamente su Sheet2.

Note: Il codice VBA sopra riportato cancellerà le righe dai dati originali dopo il passaggio a un foglio di lavoro specificato. Se si desidera copiare solo le righe in base al valore della cella anziché eliminarle. Si prega di applicare il codice VBA di seguito 2.

Codice VBA 2: copia l'intera riga su 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 l'intera riga su un altro foglio in base al valore della cella con Kutools per Excel

Se sei un principiante nel codice VBA. Qui presento il Seleziona celle specifiche utilità di Kutools for Excel. Con questa utility, è possibile selezionare facilmente tutte le righe in base a un determinato valore di cella o valori di cella diversi in un foglio di lavoro e copiare le righe selezionate nel foglio di lavoro di destinazione di cui si ha bisogno. Si prega di fare come segue.

Kutools for Excel : con più di 300 pratici componenti aggiuntivi di Excel, liberi di provare senza limitazioni nei giorni 60.

1. Selezionare l'elenco di colonne contiene il valore della cella in cui verranno spostate le righe in base a, quindi fare clic su Kutools > Seleziona > Seleziona celle specifiche. Vedi screenshot:

2. In apertura Seleziona celle specifiche finestra di dialogo, scegliere Intera riga per Tipo di selezione sezione, selezionare Equivale per Tipo specifico elenco a discesa, immettere il valore della cella nella casella di testo, quindi fare clic su OK pulsante.

Un altro Seleziona celle specifiche la finestra di dialogo si apre per mostrare il numero di righe selezionate e, nel frattempo, tutte le righe contengono il valore specificato nella colonna selezionata sono stati selezionati. Vedi screenshot:

3. premi il Ctrl + C le chiavi per copiare le righe selezionate e quindi incollarle nel foglio di lavoro di destinazione che ti serve.

Note: Se si desidera spostare le righe su un altro foglio di lavoro basato su due valori di cella diversi. Ad esempio, sposta le righe in base ai valori della cella "Fatto" o "Elaborazione", puoi abilitare il Or condizione nel Seleziona celle specifiche finestra di dialogo come mostrato nell'immagine sottostante:

Tipo.Se vuoi avere una prova gratuita di questa utility, per favore vai a scarica il software liberamente prima, quindi vai ad applicare l'operazione in base ai passaggi precedenti.


Articoli correlati:



Strumenti di produttività consigliati

Office Tab

stella d'oro1 Porta pratiche schede ad Excel e ad altri software Office, proprio come Chrome, Firefox e il nuovo Internet Explorer.

Kutools for Excel

stella d'oro1 Stupefacente! Aumenta la tua produttività in 5 minuti. Non servono abilità speciali, risparmiate due ore al giorno!

stella d'oro1 300 Nuove funzionalità per Excel, rendono Excel molto semplice e potente:

  • Unisci cella / righe / colonne senza perdere dati.
  • Combina e consolida più fogli e cartelle di lavoro.
  • Confronta intervalli, copia intervalli multipli, conversione testo in data, unità e conversione valuta.
  • Contare in base a colori, totali parziali cercapersone, ordinamento avanzato e filtro super,
  • Altro Seleziona / Inserisci / Elimina / Testo / Formato / Link / Commento / Cartelle di lavoro / Fogli di lavoro Strumenti ...

Schermata di Kutools per Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    SB · 9 days ago
    Thank you! If it is not too much trouble could you please post how to have the destination data overwrite vs. append to the last line? Specifically to overwrite data starting at A2. Thank you!
  • To post as a guest, your comment is unpublished.
    Charlene · 19 days ago
    I have a drop down list to code which person transfers to which sheet. But I can only get one person to transfer with your code. Help? :)
  • To post as a guest, your comment is unpublished.
    CAROL · 1 months ago
    I am using the formula to move rows to a second tab and delete the row from the first tab...it is deleting the row in the first tab, but not moving the row to the second. I'm wondering if it is because I have not give the correct qualifier to "A" in row 18 of the formula?? What is the "A" for?
    • To post as a guest, your comment is unpublished.
      crystal · 1 months ago
      Hi Carol,
      The "A" in row 18 means that the qualified row will be moved to the first column in the given sheet.
  • To post as a guest, your comment is unpublished.
    Carol · 1 months ago
    I'm trying to use the formula to move rows to another tab while deleting the row in the original tab. The formula deletes from the original tab, but does not move the information. I'm wondering if it is because I have not given a qualifier for the "A" in line 18 of the module. What is that for?
  • To post as a guest, your comment is unpublished.
    tom · 1 months ago
    This is AMAZING! how would I modify to capture 2 criteria?? Ex: Cell in main workbook column C = 'Done'...and column A shows either 'Tom', 'Dick', or 'Harry'. I have a tabs in the workbook for Tom, Dick, and Harry.... so if row had Done and Tom, it would be appended to the end of the spreadsheet on the Tom tab.