ไปยังเนื้อหาหลัก

วิธีคัดลอกแถวและวางลงในแผ่นงานอื่นตามวันที่ใน Excel 

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-08-12

สมมติว่าฉันมีช่วงของข้อมูลตอนนี้ฉันต้องการคัดลอกแถวทั้งหมดตามวันที่ที่ระบุแล้ววางลงในแผ่นงานอื่น คุณมีความคิดที่ดีในการจัดการกับงานนี้ใน Excel หรือไม่?

คัดลอกแถวและวางลงในแผ่นงานอื่นตามวันที่ของวันนี้

คัดลอกแถวและวางลงในแผ่นงานอื่นหากวันที่มากกว่าวันนี้


คัดลอกแถวและวางลงในแผ่นงานอื่นตามวันที่ของวันนี้

หากคุณต้องการคัดลอกแถวหากวันนี้เป็นวันนี้โปรดใช้รหัส VBA ต่อไปนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในหน้าต่างโมดูล

รหัส VBA: คัดลอกและวางแถวตามวันที่ของวันนี้:

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. หลังจากวางรหัสด้านบนแล้วกรุณากด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกคอลัมน์วันที่ที่คุณต้องการคัดลอกแถวตามดูภาพหน้าจอ:

ภาพหน้าจอของการเลือกช่วงวันที่หลังจากเรียกใช้โค้ด

4. จากนั้นคลิก OK ในกล่องพร้อมต์อื่นให้เลือกเซลล์ในแผ่นงานอื่นที่คุณต้องการส่งออกผลลัพธ์ดูภาพหน้าจอ:

ภาพหน้าจอของการเลือกเซลล์ปลายทาง

5. จากนั้นคลิก OK ตอนนี้แถวที่เป็นวันนี้จะถูกวางลงในแผ่นงานใหม่พร้อมกันดูภาพหน้าจอ:

ภาพหน้าจอของผลลัพธ์


คัดลอกแถวและวางลงในแผ่นงานอื่นหากวันที่มากกว่าวันนี้

หากต้องการคัดลอกและวางแถวที่วันที่มากกว่าหรือเท่ากับวันนี้เช่นถ้าวันที่เท่ากันหรือมากกว่า 5 วันนับจากวันนี้ให้คัดลอกและวางแถวลงในแผ่นงานอื่น

รหัส VBA ต่อไปนี้อาจช่วยคุณได้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในหน้าต่างโมดูล

รหัส VBA: คัดลอกและวางแถวหากวันที่มากกว่าวันนี้:

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

หมายเหตุ: ในโค้ดด้านบนคุณสามารถเปลี่ยนเกณฑ์เช่นน้อยกว่าวันนี้หรือจำนวนวันตามที่คุณต้องการในไฟล์ ถ้า TypeName (xVal) = "Date" And (xVal <> "") And (xVal> = Date And (xVal <Date + 5)) แล้ว รหัสสคริปต์

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้ในกล่องพร้อมต์โปรดเลือกคอลัมน์ข้อมูลที่คุณต้องการใช้ดูภาพหน้าจอ:

ภาพหน้าจอของการเลือกช่วงวันที่หลังจากรันโค้ด 2

4. จากนั้นคลิก OK ในกล่องพร้อมต์อื่นให้เลือกเซลล์ในแผ่นงานอื่นที่คุณต้องการส่งออกผลลัพธ์ดูภาพหน้าจอ:

ภาพหน้าจอของการเลือกเซลล์ปลายทางเพื่อวางแถวหากวันที่มากกว่าวันนี้

5. คลิก OK ตอนนี้แถวที่วันที่เท่ากันหรือมากกว่า 5 วันนับตั้งแต่วันนี้ถูกคัดลอกและวางลงในแผ่นงานใหม่ตามภาพหน้าจอต่อไปนี้:

ภาพหน้าจอที่แสดงแถวเฉพาะวันที่มากกว่าวันนี้เท่านั้น


สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!