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

วิธีคัดลอกแถวจากแผ่นงานหลายแผ่นตามเกณฑ์ลงในแผ่นงานใหม่

สมมติว่าคุณมีสมุดงานที่มีแผ่นงานสามแผ่นซึ่งมีการจัดรูปแบบเช่นเดียวกับภาพหน้าจอด้านล่าง ตอนนี้คุณต้องการคัดลอกแถวทั้งหมดจากแผ่นงานเหล่านี้ซึ่งคอลัมน์ C มีข้อความ“ เสร็จสมบูรณ์” ลงในแผ่นงานใหม่ คุณจะแก้ปัญหานี้อย่างรวดเร็วและง่ายดายได้อย่างไรโดยไม่ต้องคัดลอกและวางทีละรายการด้วยตนเอง

คัดลอกแถวจากแผ่นงานหลายแผ่นตามเกณฑ์ลงในแผ่นงานใหม่ด้วยรหัส VBA


คัดลอกแถวจากแผ่นงานหลายแผ่นตามเกณฑ์ลงในแผ่นงานใหม่ด้วยรหัส VBA

รหัส VBA ต่อไปนี้สามารถช่วยคุณคัดลอกแถวที่ต้องการจากแผ่นงานทั้งหมดภายในสมุดงานตามเงื่อนไขบางอย่างลงในแผ่นงานใหม่ กรุณาทำตามนี้:

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

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

รหัส VBA: คัดลอกแถวจากหลายแผ่นตามเกณฑ์ลงในแผ่นงานใหม่

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

หมายเหตุ: ในโค้ดด้านบน:

  • ข้อความ "เสร็จ" ในเรื่องนี้ xRStr = "เสร็จสมบูรณ์" สคริปต์ระบุเงื่อนไขเฉพาะที่คุณต้องการคัดลอกแถวตาม;
  • ค: ค ในการนี​​้ ตั้งค่า xRg = xWs.Range ("C: C") สคริปต์ระบุคอลัมน์เฉพาะที่เงื่อนไขระบุไว้

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และแถวทั้งหมดที่มีเงื่อนไขเฉพาะได้รับการคัดลอกและวางลงในแผ่นงานใหม่ชื่อ Kutools for Excel ภายในสมุดงานปัจจุบัน ดูภาพหน้าจอ:


บทความเพิ่มเติมเกี่ยวกับการดึงหรือคัดลอกข้อมูล:

  • คัดลอกข้อมูลไปยังแผ่นงานอื่นด้วยตัวกรองขั้นสูงใน Excel
  • โดยปกติเราสามารถใช้คุณสมบัติตัวกรองขั้นสูงเพื่อดึงข้อมูลจากข้อมูลดิบในแผ่นงานเดียวกันได้อย่างรวดเร็ว แต่ในบางครั้งเมื่อคุณพยายามคัดลอกผลลัพธ์ที่กรองแล้วไปยังแผ่นงานอื่นคุณจะได้รับข้อความเตือนดังต่อไปนี้ ในกรณีนี้คุณจะจัดการกับงานนี้ใน Excel ได้อย่างไร?
  • คัดลอกแถวไปยังแผ่นงานใหม่ตามเกณฑ์คอลัมน์ใน Excel
  • ตัวอย่างเช่นมีตารางการซื้อผลไม้และตอนนี้คุณต้องคัดลอกบันทึกไปยังแผ่นงานใหม่ตามผลไม้ที่ระบุวิธีการทำอย่างง่ายดายใน Excel ที่นี่ฉันจะแนะนำสองวิธีในการคัดลอกแถวไปยังแผ่นงานใหม่ตามเกณฑ์คอลัมน์ใน Excel
  • คัดลอกแถวถ้าคอลัมน์มีข้อความ / ค่าเฉพาะใน Excel
  • สมมติว่าคุณต้องการค้นหาเซลล์ที่มีข้อความหรือค่าเฉพาะในคอลัมน์จากนั้นคัดลอกทั้งแถวที่เซลล์ที่พบอยู่คุณจะจัดการกับมันได้อย่างไร? ที่นี่ฉันจะแนะนำสองวิธีในการค้นหาว่าคอลัมน์มีข้อความหรือค่าเฉพาะหรือไม่จากนั้นคัดลอกทั้งแถวใน Excel

เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ และการเก็บรักษาข้อมูล แยกเนื้อหาของเซลล์ รวมแถวที่ซ้ำกันและผลรวม / ค่าเฉลี่ย... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แทรกสูตรที่ชื่นชอบและรวดเร็ว, ช่วงแผนภูมิและรูปภาพ; เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • การจัดกลุ่มตาราง Pivot ตาม จำนวนสัปดาห์วันในสัปดาห์และอื่น ๆ ... แสดงปลดล็อกเซลล์ที่ถูกล็อก ด้วยสีที่ต่างกัน เน้นเซลล์ที่มีสูตร / ชื่อ...
kte แท็บ 201905
  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations