Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako kopirati vrstice in prilepiti na drugi list glede na datum v Excelu?

Če menim, da imam vrsto podatkov, zdaj želim kopirati celotne vrstice na podlagi določenega datuma in jih prilepiti v drugi list. Imate kakšne dobre ideje za obravnavo tega dela v Excelu?

Kopirajte vrstice in jih prilepite na drugo stran glede na današnji datum

Kopirajte vrstice in jih prilepite na drugi list, če je datum večji od danes


Kopirajte vrstice in jih prilepite na drugo stran glede na današnji datum


Če želite kopirati vrstice, če je datum danes, uporabite naslednjo kodo VBA:

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v okno modula.

VBA koda: Kopirajte in prilepite vrstice glede na današnji datum:

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. Po lepljenju zgornje kode, pritisnite F5 ključ za zagon te kode in se bo pojavilo potrditveno polje, ki vas opomni, da izberete stolpec datuma, na katerega želite kopirati vrstice na podlagi, si oglejte sliko zaslona:

4. Nato kliknite OK gumb, v drugem pozivnem polju, izberite celico v drugem listu, kjer želite prikazati rezultat, si oglejte posnetek zaslona:

5. In nato kliknite OK zdaj, vrstice, ki so danes dane, se prilepijo na nov list hkrati, glejte sliko zaslona:


Kopirajte vrstice in jih prilepite na drugi list, če je datum večji od danes

Če želite kopirati in prilepiti vrstice, katerih datum je večji ali enakovreden danes, na primer, če je datum enak ali večji od 5 dni od danes, potem kopirajte in prilepite vrstice na drug list.

Naslednja VBA koda vam lahko pomaga:

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v okno modula.

VBA koda: Kopirajte in prilepite vrstice, če je datum večji od danes:

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

Opombe: V zgornji kodi lahko spremenite merila, kot so manj kot danes, ali število dni, kot jih potrebujete v Če je ime tipa (xVal) = "datum" in (xVal <> "") in (xVal> = datum in (xVal <datum + 5) skriptna koda.

3. Nato pritisnite F5 Če želite zagnati to kodo, v pozivnem polju izberite stolpec podatkov, ki ga želite uporabiti. Oglejte si posnetek zaslona:

4. Nato kliknite OK gumb, v drugem pozivnem polju, izberite celico v drugem listu, kjer želite prikazati rezultat, si oglejte posnetek zaslona:

5. kliknite OK gumb, ki je datum, ki je datum enakovreden ali večji od 5 dni, odkar so bili danes kopirani in prilepili v novi list, kot je prikazan spodnji sliki:



Priporočena orodja za produktivnost za Excel

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
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.
    Sarah B · 7 months ago
    Is it possible to do this for an entire workbook if the date is always in the same column on each? If so, what would the VBA code be, or which bit would I change?