Come si fa a copiare righe e incollarle in un altro foglio in base alla data in Excel?
Supponiamo di avere un intervallo di dati e di voler copiare l’intera riga in base a una data specifica per incollarla in un altro foglio. Avete qualche buona idea su come eseguire questa operazione in Excel?
Copiare righe e incollarle in un altro foglio in base alla data odierna
Copiare righe e incollarle in un altro foglio se la data è successiva a oggi
Copiare righe e incollarle in un altro foglio in base alla data odierna
Se devi copiare le righe la cui data corrisponde a quella odierna, applica il seguente codice VBA:
1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nella finestra del modulo.
Codice VBA: Copia e incolla righe in base alla data odierna:
Sub CopyRow()
'Updateby Extendoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
3. Dopo aver incollato il codice indicato sopra, premi il tasto F5 per eseguirlo. Si aprirà una finestra di dialogo che ti chiederà di selezionare la colonna delle date in base alla quale desideri copiare le righe; vedi screenshot:

4. Fai quindi clic sul pulsante OK; in un’altra finestra di dialogo, seleziona una cella in un altro foglio in cui desideri visualizzare il risultato; vedi screenshot:

5. Clicca quindi sul pulsante OK; le righe con la data odierna verranno incollate immediatamente nel nuovo foglio. Vedi screenshot:

Copiare righe e incollarle in un altro foglio se la data è successiva a oggi
Per copiare e incollare le righe la cui data è maggiore o uguale a quella di oggi — ad esempio, se la data è uguale o successiva a 5 giorni rispetto a oggi — copia e incolla tali righe in un altro foglio.
Il seguente codice VBA potrebbe esserti utile:
1. Tieni premuti i tasti ALT + F11per aprire la finestra di Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci>Modulo, quindi incolla il codice seguente nella finestra del modulo.
Codice VBA: Copia e incolla righe se la data è successiva a oggi:
Sub CopyRow()
'Updateby Extentoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
Nota: Nel codice riportato sopra, puoi personalizzare i criteri — ad esempio «minore di oggi» o il numero di giorni desiderato — direttamente nella riga di codice If TypeName(xVal) = «Date» And (xVal "") And (xVal >= Date And (xVal < Date + 5)) Then.
3. Premi quindi il tasto F5 per eseguire il codice; nella finestra di dialogo, seleziona la colonna dei dati da utilizzare; vedi screenshot:

4. Fai quindi clic sul pulsante OK; in un’altra finestra di dialogo, seleziona una cella in un altro foglio in cui desideri visualizzare il risultato; vedi screenshot:

5. Clicca sul pulsante OK; ora, le righe la cui data è uguale o successiva a quella di oggi più 5 giorni sono state copiate e incollate nel nuovo foglio, come mostrato nello screenshot seguente:

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