Note: The other languages of the website are Google-translated. Back to English

Jak skopiować wiersze i wkleić do innego arkusza na podstawie daty w programie Excel? 

Przypuśćmy, że mam zakres danych, teraz chcę skopiować całe wiersze na podstawie określonej daty, a następnie wkleić je do innego arkusza. Czy masz jakieś dobre pomysły na wykonanie tej pracy w programie Excel?

Skopiuj wiersze i wklej je do innego arkusza na podstawie dzisiejszej daty

Skopiuj wiersze i wklej je do innego arkusza, jeśli data jest większa niż dzisiaj


Skopiuj wiersze i wklej je do innego arkusza na podstawie dzisiejszej daty

Jeśli chcesz skopiować wiersze, jeśli data jest dzisiaj, zastosuj następujący kod VBA:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

Kod VBA: Skopiuj i wklej wiersze na podstawie dzisiejszej daty:

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 wklejeniu powyższego kodu naciśnij F5 klucz do uruchomienia tego kodu, a pojawi się okienko zachęty przypominające o wybraniu kolumny z datą, na podstawie której chcesz skopiować wiersze, patrz zrzut ekranu:

4. Następnie kliknij OK przycisk, w innym polu zachęty wybierz komórkę w innym arkuszu, w którym chcesz wyprowadzić wynik, zobacz zrzut ekranu:

5. A następnie kliknij OK przycisk, teraz wiersze z dzisiejszą datą są wklejane od razu do nowego arkusza, patrz zrzut ekranu:


Skopiuj wiersze i wklej je do innego arkusza, jeśli data jest większa niż dzisiaj

Aby skopiować i wkleić wiersze, których data jest większa lub równa dzisiejszej, na przykład, jeśli data jest równa lub większa niż 5 dni od dzisiaj, skopiuj i wklej wiersze do innego arkusza.

Poniższy kod VBA może wyświadczyć ci przysługę:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

Kod VBA: Skopiuj i wklej wiersze, jeśli data jest większa niż dzisiaj:

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

Uwagi: W powyższym kodzie możesz zmienić kryteria, takie jak mniej niż dzisiaj lub liczba dni, ile potrzebujesz w Jeśli TypeName (xVal) = "Date" And (xVal <> "") And (xVal> = Date And (xVal <Date + 5)) Then kod skryptu.

3. Następnie naciśnij F5 klucz do uruchomienia tego kodu, w polu zachęty wybierz kolumnę danych, której chcesz użyć, zobacz zrzut ekranu:

4. Następnie kliknij OK przycisk, w innym polu zachęty wybierz komórkę w innym arkuszu, w którym chcesz wyprowadzić wynik, zobacz zrzut ekranu:

5, Kliknij OK przycisk, teraz wiersze, których data jest równa lub większa niż 5 dni od dzisiaj, zostały skopiowane i wklejone do nowego arkusza, jak pokazano na poniższym zrzucie ekranu:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (3)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy można to zrobić dla całego skoroszytu, jeśli data jest zawsze w tej samej kolumnie w każdym? Jeśli tak, jaki byłby kod VBA lub który bit bym zmienił?
Ten komentarz został zminimalizowany przez moderatora na stronie
Otrzymałeś odpowiedź na to?
Ten komentarz został zminimalizowany przez moderatora na stronie
Tak samo tutaj. Naprawdę chciałbym uzyskać odpowiedź!
DZIĘKI JUŻ WIELKIE! EXTENDOFFICe :D
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL