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

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

สมมติว่าคุณมีสมุดงานที่มีแผ่นงานสามแผ่นซึ่งมีการจัดรูปแบบเช่นเดียวกับภาพหน้าจอด้านล่าง ตอนนี้คุณต้องการคัดลอกแถวทั้งหมดจากแผ่นงานเหล่านี้ซึ่งคอลัมน์ 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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (2)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ขอบคุณมากสำหรับโค้ดด้านบน มันช่วยแก้ปัญหาเกี่ยวกับไฟล์ที่ซับซ้อนได้ วิธีแก้ปัญหาที่ฉันมองหามาระยะหนึ่งแล้ว ขอบคุณครับ..มีคำถามครับ ฉันจะเปลี่ยนรหัสเพื่อคัดลอกแถวได้อย่างไร แต่เฉพาะจาก colum A ถึง colum Q เท่านั้น ดังนั้นจึงไม่ใช่ Total.Row ขอบคุณล่วงหน้าและทำงานได้ดีมาก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี

ขอบคุณมากสำหรับรหัส ฉันมีคำถาม: โค้ดทำงานได้อย่างราบรื่นบนแผ่นงานบางแผ่นของฉัน แต่ดูเหมือนว่ามีการวนซ้ำไม่สิ้นสุดในโค้ดอื่นๆ ซึ่งทำให้ excel ขัดข้อง สาเหตุอาจเป็นอะไร?
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ