ปกติ ตัวเลือก advanced filter อนุญาตให้เราดึงข้อมูลจากช่วงข้อมูลตามเงื่อนไขหลายอย่าง เราสามารถใช้ advanced filter ใน Excel เพื่อคัดลอกข้อมูลไปแผ่นงานอื่น การคัดลอกและวางข้อมูลเป็นฟังก์ชันทั่วไปและใช้บ่อยขณะทำงานใน Excel การใช้ advanced filter เพื่อคัดลอกข้อมูลไปแผ่นงานอื่นทำให้กระบวนการมีประสิทธิภาพมากขึ้น เพื่อสาธิตวิธีการในบทความนี้ เราจะใช้ชุดข้อมูลเดียวกันสำหรับทุกตัวอย่าง
คุณสามารถดาวน์โหลดสมุดทำงานฝึกปฏิบัติได้จากที่นี่
2 การใช้งาน Advanced Filter คัดลอกข้อมูลไปแผ่นงานอื่นใน Excel
เราจะสาธิต 2 วิธีในการใช้ advanced filter เพื่อคัดลอกข้อมูลไปแผ่นงานอื่นใน Excel ในวิธีแรก เราจะใช้ตัวเลือก Advanced จากแท็บ Data ในวิธีที่สอง เราจะใช้ VBA code เพื่อเปิดใช้งานตัวเลือก advanced filter จากนั้นคัดลอกข้อมูลไปแผ่นงานอื่นที่เราใช้ VBA code
1. คัดลอกข้อมูลไปแผ่นงานอื่นด้วยฟีเจอร์ Advanced Filter
ก่อนอื่นและสำคัญที่สุด เราจะใช้ตัวเลือก Advanced จากริบบอน Excel เพื่อคัดลอกข้อมูลไปแผ่นงานอื่นใน Excel ด้วยเกณฑ์ advanced filter ตัวเลือก Advanced พร้อมใช้งานใน Excel ในแท็บ Data ภายใต้ส่วนชื่อ "Sort & Filter" (เรียงลำดับ & กรอง) ในชุดข้อมูลต่อไปนี้ เรามี "Last Name" (นามสกุล), "Sales Amount" (ยอดขาย), และ City (เมือง) สำหรับพนักงานขายต่างๆ เราจะคัดลอกข้อมูลไปแผ่นชื่อ "Copy Sheet" เฉพาะพนักงานขายที่นามสกุลเป็น Smith และ Jones ซึ่งเป็นเกณฑ์ของเรา

มา看看ขั้นตอนในการดำเนินการนี้
ขั้นตอน (STEPS):
- ขั้นแรก ไปที่แผ่นชื่อ "Copy Sheet" ที่เราต้องการคัดลอกข้อมูล
- ที่สอง เลือกแท็บ Data คลิกตัวเลือก Advanced จากส่วน "Sort & Filter"

- กล่องโต้ตอบใหม่ชื่อ "Advanced Filter" จะปรากฏ

- ที่สาม ติ๊กตัวเลือก "Copy to another location" (คัดลอกไปตำแหน่งอื่น)
- จากนั้นคลิกกล่องป้อน "List range" (ช่วงรายการ) และไปที่แผ่นชื่อ "Actual Sheet"

- ตอนนี้ เลือกช่วง (B4:D15)
- เราสามารถเห็นได้ว่าช่วง (B4:D15) ถูกเลือกใน "List range" ในกล่องป้อน ค่าจะมีลักษณะดังนี้
List range: 'Actual Sheet'!$B$4:$D15

- หลังจากนั้น ตั้งค่าต่อไปนี้ในกล่องโต้ตอบ "Advanced Filter"-
Criteria range: 'Actual Sheet'!$F$9:$F$11
Copy to: 'Copy Sheet'!$B$4
- ต่อไป กด OK

- สุดท้าย เราสามารถเห็นได้ว่าการดำเนินการข้างต้นคัดลอกแถวที่ไฮไลท์ทั้งหมดจากแผ่นชื่อ "Actual Sheet" ไปแผ่นชื่อ "Copy Sheet"

อ่านเพิ่มเติม: VBA คัดลอกข้อมูลไปแผ่นงานอื่นด้วย Advanced Filter ใน Excel
การอ่านที่คล้ายคลึงกัน:
- วิธีใช้ Advanced Filter หาก Criteria Range มีข้อความใน Excel
- Excel Advanced Filter: ใช้ "Does Not Contain" (2 วิธี)
- วิธีใช้ Advanced Filter สำหรับบันทึกที่ไม่ซ้ำ (Unique Records Only) ใน Excel
- วิธีใช้ Advanced Filter ตัดเซลล์ว่างใน Excel (3 เทคนิคง่าย)
- ตัวอย่าง Excel VBA ของ Advanced Filter พร้อมเกณฑ์ (6 เกณฑ์)
2. ใช้ Advanced Filter พร้อมโค้ด VBA คัดลอกข้อมูลไปแผ่นงานอื่น
เราสามารถใช้ Advanced Filter พร้อม VBA code เพื่อคัดลอกข้อมูลไปแผ่นงานอื่น พื้นฐานแล้ว ในวิธีนี้ เราจะทำงานเดียวกับวิธีก่อนหน้าอีกครั้ง แตคราวนี้เราจะไม่ใช้ตัวเลือก Advanced จากแท็บ Data แทนที่จะทำอย่างนั้น เราจะใช้ VBA code เพื่อเปิดใช้งานฟังก์ชันของตัวเลือก advanced filter

มา看看ขั้นตอนในการใช้ advanced filter ตัวเลือกกับ VBA code เพื่อคัดลอกข้อมูลไปแผ่นงานอื่น
ขั้นตอน (STEPS):
- ขั้นแรก เลือกแผ่น "Copy Sheet-2" ที่จะคัดลอกข้อมูลของเรา
- ต่อไป คลิกขวา ที่แผ่นและเลือกตัวเลือก "View Code" (ดูโค้ด)

- โมดูล VBA ว่างจะปรากฏ
- แทรกโค้ดต่อไปนี้ในโมดูลว่าง:
Sub Advance_Filter_to_Copy_to_Another_Sheet()
Dim Str As String
Dim Address As String
Dim Rg As Range
Dim CRg As Range
Dim SRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set Rg = Application.InputBox("Please select the filter range:", "Copy to Another Sheet", xAddress, , , , , 8)
If Rg Is Nothing Then Exit Sub
Set CRg = Application.InputBox("Please select the criteria range:", "Copy to Another Sheet", "", , , , , 8)
If CRg Is Nothing Then Exit Sub
Set SRg = Application.InputBox("Please select the output range:", "Copy to Another Sheet", "", , , , , 8)
If SRg Is Nothing Then Exit Sub
Rg.AdvancedFilter xlFilterCopy, CRg, SRg, False
SRg.Worksheet.Activate
SRg.Worksheet.Columns.AutoFit
End Sub
- กดปุ่ม F5 หรือคลิก Run เพื่อรันโค้ด

- การดำเนินการข้างต้นจะเปิดกล่องโต้ตอบใหม่ชื่อ "Copy to Another Sheet"

- คลิกที่กล่องป้อน ไปที่แผ่นชื่อ "VBA" และเลือกช่วง (B4:D15)
- กด OK

- กล่องโต้ตอบอีกอันจะปรากฏ เราต้องใส่ค่าช่วงเกณฑ์ในกล่องป้อนของกล่องโต้ตอบนั้น เพื่อใส่เกณฑ์ คลิกกล่องป้อน เลือกชื่อแผ่น VBA และจากแผ่นนั้นเลือกช่วง (F9:F11)
- การดำเนินการข้างต้นจะแสดงค่าในกล่องป้อนแบบนี้:
VBA!$B$4:$D$15
- กด OK

- เราสามารถเห็นกล่องโต้ตอบอีกอันสำหรับช่วงผลลัพธ์
- เลือกเซลล์ B4 จากแผ่นที่ต้องการคัดลอกข้อมูล จะแทรกค่า $B$4 ในกล่องป้อน
- กด OK

- สุดท้าย เราได้แถวที่ไฮไลท์ทั้งหมดถูกคัดลอกในอีกแผ่นหนึ่ง

อ่านเพิ่มเติม: วิธีใช้ Advanced Filter คัดลอกไปตำแหน่งอื่นใน Excel
สรุป
สรุปได้ว่า บทความนี้เป็นภาพรวมการใช้ Advanced Filter เพื่อคัดลอกข้อมูลไปแผ่นงานอื่นใน Excel advanced filter เพื่อผลลัพธ์ที่ดีที่สุด โปรดดาวน์โหลดและฝึกปฏิบัติโดยใช้สมุดทำงานฝึกปฏิบัติของเรา ซึ่งแนบมากับโพสต์นี้ หากมีคำถาม โปรดทิ้งความคิดเห็นด้านล่าง ทีมของเราจะพยายามตอบกลับโดยเร็วที่สุด ในอนาคต โปรดติดตามโซลูชัน Microsoft Excel ที่เป็นเอกลักษณ์มากขึ้น
บทความที่เกี่ยวข้อง
- Advanced Filter พร้อมเกณฑ์หลายอย่างใน Excel (15 ตัวอย่างที่เหมาะสม)
- Dynamic Advanced Filter Excel (VBA & Macro)
- วิธีใช้ Advanced Filter ใน VBA (แนวทางแบบขั้นตอน)
- Advanced Filter พร้อม Criteria Range ใน Excel (18 การประยุกต์ใช้)
- Excel Advanced Filter Not Working (2 เหตุผล & วิธีแก้)
