Petua: Bahasa lain diterjemahkan Google. Anda boleh melawat English versi pautan ini.
Log masuk
x
or
x
x
Daftar Sekarang
x

or

Bagaimana untuk menyalin baris dan tampal ke helaian lain berdasarkan tarikh dalam Excel?

Supaya, saya mempunyai pelbagai data, sekarang, saya ingin menyalin seluruh baris berdasarkan tarikh tertentu dan kemudian memasukkannya ke helaian lain. Adakah anda mempunyai idea yang baik untuk menangani tugas ini dalam Excel?

Salin baris dan tampal ke helaian lain berdasarkan pada tarikh hari ini

Salin baris dan tampal ke helaian lain jika tarikh lebih besar dari hari ini


Salin baris dan tampal ke helaian lain berdasarkan pada tarikh hari ini


Jika anda perlu menyalin baris jika tarikh hari ini, sila gunakan kod VBA berikut:

1. Tahan ALT + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Klik Memasukkan > Modul, dan tampal kod berikut dalam Tetingkap Modul.

Kod VBA: Salin dan tampal baris berdasarkan tarikh hari ini:

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. Selepas menampal kod di atas, sila tekan F5 kunci untuk menjalankan kod ini, dan kotak petanda akan muncul untuk mengingatkan anda memilih lajur tarikh yang anda mahu salin baris berdasarkan, lihat tangkapan skrin:

4. Kemudian klik OK di dalam kotak petak lain, pilih sel dalam helaian lain di mana anda ingin mengeluarkan hasilnya, lihat tangkapan skrin:

5. Kemudian klik OK butang, sekarang, baris yang tarikh hari ini dimasukkan ke dalam lembaran baru sekaligus, lihat tangkapan skrin:


Salin baris dan tampal ke helaian lain jika tarikh lebih besar dari hari ini

Untuk menyalin dan tampal baris yang tarikh lebih besar atau sama dengan hari ini, sebagai contoh, jika tarikh itu sama atau lebih daripada hari 5 sejak hari ini, maka salin dan tampal baris ke helaian lain.

Kod VBA berikut boleh memihak kepada anda:

1. Tahan ALT + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Klik Memasukkan > Modul, dan tampal kod berikut dalam Tetingkap Modul.

Kod VBA: Salin dan tampal baris jika tarikh lebih besar daripada hari ini:

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: Dalam kod di atas, anda boleh mengubah kriteria, seperti kurang dari hari ini atau bilangan hari yang anda perlukan di Jika TypeName (xVal) = "Tarikh" Dan (xVal <> "") Dan (xVal> = Tarikh Dan (xVal <Tarikh + 5) kod skrip.

3. Kemudian tekan F5 kunci untuk menjalankan kod ini, di dalam kotak prompt, sila pilih lajur data yang ingin anda gunakan, lihat tangkapan skrin:

4. Kemudian klik OK di dalam kotak petak lain, pilih sel dalam helaian lain di mana anda ingin mengeluarkan hasilnya, lihat tangkapan skrin:

5. Klik OK butang, sekarang, baris yang tarikhnya sama atau lebih besar daripada hari 5 sejak hari ini telah disalin dan disisipkan ke dalam lembaran baru seperti tangkapan berikut yang ditunjukkan:


Cadangan Alat Produktiviti untuk Excel

kte tab 201905

Kutools untuk Excel Membantu Anda Selalu Menyelesaikan Kerja di Hadapan Masa, dan Berdiri Daripada Orang

  • Lebih daripada ciri-ciri canggih 300 yang canggih, yang direka untuk senario kerja 1500, meningkatkan produktiviti oleh 70%, memberi anda lebih banyak masa untuk menjaga keluarga dan menikmati kehidupan.
  • Tidak perlu lagi menghafal formula dan kod VBA, berikan rehat dari otak anda sekarang.
  • Menjadi pakar Excel dalam minit 3, Operasi yang rumit dan berulang boleh dilakukan dalam beberapa saat,
  • Mengurangkan beribu-ribu operasi papan kekunci & tetikus setiap hari, mengucapkan selamat tinggal kepada penyakit pekerjaan sekarang.
  • 110,000 orang yang sangat berkesan dan pilihan syarikat 300 + yang terkenal di dunia.
  • Ciri-ciri penuh 60-hari adalah percubaan percuma. Jaminan wang balik 60 hari. Tahun 2 peningkatan dan sokongan percuma.

Membawa Browsing Tab dan Editing ke Microsoft Office, Jauh Lebih Berkuasa Daripada Tab Penyemak Imbas

  • Tab Pejabat direka untuk Aplikasi Pejabat Word, Excel, PowerPoint dan Lain-lain: Penerbit, Akses, Visio dan Projek.
  • Buka dan buat beberapa dokumen dalam tab baharu pada tetingkap yang sama, dan bukannya dalam tetingkap baru.
  • Meningkatkan produktiviti anda oleh 50%, dan mengurangkan beratus-ratus klik tetikus untuk anda setiap hari!
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?