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

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

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

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% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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?
This comment was minimized by the moderator on the site
Did you get a reply on this?
This comment was minimized by the moderator on the site
Same here. Would really like an answer!
THANKS ALOT ALREADY EXTENDOFFICe :D
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations