Vai al contenuto principale

Come copiare righe e incollare su un altro foglio in base alla data in Excel? 

Autore: Xiaoyang Ultima modifica: 2024-08-12

Supponendo, ho un intervallo di dati, ora, voglio copiare le intere righe in base a una data specifica e quindi incollarle in un altro foglio. Hai qualche buona idea per affrontare questo lavoro in Excel?

Copia le righe e incolla su un altro foglio in base alla data odierna

Copia le righe e incolla su un altro foglio se la data è maggiore di quella odierna


Copia le righe e incolla su un altro foglio in base alla data odierna

Se è necessario copiare le righe se la data è oggi, applicare il seguente codice VBA:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

Codice VBA: copia e incolla le 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 sopra, premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di selezionare la colonna della data su cui desideri copiare le righe, vedi screenshot:

uno screenshot della selezione dell'intervallo di date dopo aver eseguito il codice

4. Quindi fare clic OK pulsante, in un'altra finestra di messaggio, seleziona una cella in un altro foglio in cui desideri visualizzare il risultato, vedi screenshot:

uno screenshot della selezione di una cella di destinazione

5. E poi clicca OK pulsante, ora, le righe la cui data è oggi vengono incollate nel nuovo foglio contemporaneamente, vedi screenshot:

uno screenshot dei risultati


Copia le righe e incolla su un altro foglio se la data è maggiore di quella odierna

Per copiare e incollare le righe la cui data è maggiore o uguale a oggi, ad esempio, se la data è uguale o maggiore di 5 giorni da oggi, quindi copia e incolla le righe su un altro foglio.

Il seguente codice VBA potrebbe farti un favore:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

Codice VBA: copia e incolla le righe se la data è maggiore di 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

Note:: Nel codice sopra, puoi cambiare i criteri, come meno di oggi o il numero di giorni di cui hai bisogno nel file If TypeName (xVal) = "Date" And (xVal <> "") And (xVal> = Date And (xVal <Date + 5)) Allora codice di script.

3. Quindi premere F5 chiave per eseguire questo codice, nella casella del messaggio, selezionare la colonna di dati che si desidera utilizzare, vedere screenshot:

uno screenshot della selezione dell'intervallo di date dopo aver eseguito il codice 2

4. Quindi fare clic OK pulsante, in un'altra finestra di messaggio, seleziona una cella in un altro foglio in cui desideri visualizzare il risultato, vedi screenshot:

uno screenshot della selezione di una cella di destinazione per posizionare le righe se la data è maggiore di oggi

5. Clicca il OK pulsante, ora, le righe la cui data è uguale o maggiore di 5 giorni da oggi sono state copiate e incollate nel nuovo foglio come mostrato nella seguente schermata:

uno screenshot che mostra le righe solo quando le date sono maggiori di oggi


I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Tools (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Tools (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Tools (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Tools (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora
Utilizza Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • 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, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!