Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

หากคุณกำลังดิ้นรนเพื่อค้นหาสาเหตุที่เป็นไปได้และวิธีแก้ไขของข้อความแสดงข้อผิดพลาด วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว บทความนี้เหมาะสำหรับคุณ มาดูบทความหลักกัน

ดาวน์โหลดสมุดงาน

5 การแก้ไขสำหรับวิธีการกรองอัตโนมัติของปัญหาคลาสช่วงล้มเหลว

ที่นี่เราจะแสดง 5 วิธีแก้ปัญหาที่เป็นไปได้โดยใช้ชุดข้อมูลต่อไปนี้เป็นช่วงที่เราจะใช้คุณลักษณะตัวกรองอัตโนมัติเพื่อกรองช่วงตามเกณฑ์

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

เราใช้ Microsoft Excel 365 เวอร์ชันที่นี่ คุณสามารถใช้เวอร์ชันอื่นได้ตามสะดวก

แก้ไข-1 :การแก้ไขหมายเลขฟิลด์เพื่อแก้ไขวิธีการกรองอัตโนมัติของปัญหาคลาสช่วงที่ล้มเหลว

ที่นี่ เราจะพยายามกรองช่วงต่อไปนี้ตามมูลค่าการขายที่มากกว่า 2500 ด้วยความช่วยเหลือของ VBA รหัส.

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

สำหรับการกรองช่วงเราใช้รหัสต่อไปนี้

Sub fixing_autofilter_issue_1()

Dim sht As Worksheet
Set sht = Worksheets("Field Number")
sht.Range("B3:D3").AutoFilter field:=100, Criteria1:=">=2500"

End Sub

ที่นี่ ฟิลด์: ใช้สำหรับระบุหมายเลขคอลัมน์ของช่วงที่เรากำหนดให้ 100 แต่มีไม่เกิน 3 คอลัมน์ในช่วงนี้

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

ดังนั้นหลังจากกด F5 เราได้รับข้อความแสดงข้อผิดพลาด วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว .

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ ในการแก้ปัญหานี้ ให้ใช้หมายเลขฟิลด์ที่ถูกต้องซึ่งสอดคล้องกับหมายเลขคอลัมน์ของช่วง (เรากำลังใช้ 3 เพราะเป็นหมายเลขประจำเครื่องของ การขาย ของช่วง)

Sub fixing_autofilter_issue_1()

Dim sht As Worksheet
Set sht = Worksheets("Field Number")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ กด F5 .
ตอนนี้ คุณจะสามารถกรองช่วงของคุณตามเกณฑ์โดยไม่มีข้อความแสดงข้อผิดพลาด

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

อ่านเพิ่มเติม: Excel VBA เพื่อตรวจสอบว่า AutoFilter เปิดอยู่ (4 วิธีง่ายๆ)

แก้ไข-2 :การใช้ช่วงที่ถูกต้องสำหรับการแก้ปัญหา AutoFilter Method ของ Range Class Failed Problem

เราจะพยายามใช้ตัวกรองในชุดข้อมูลต่อไปนี้ตาม การขาย คอลัมน์สำหรับค่าที่มากกว่า $2,500.00 .

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

เราได้ใช้รหัสต่อไปนี้เพื่อกรองช่วงของ ช่วง แผ่น.

Sub fixing_autofilter_issue_2()

Dim sht As Worksheet
Set sht = Worksheets("Range")
sht.Range("D3:D100").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

ในที่นี้ เราจะเห็นว่าเราใช้ช่วง D3:D100 และช่องหมายเลข 3 และค่าเหล่านี้จะไม่จับคู่กันเนื่องจากช่วงนี้มีเพียงคอลัมน์เดียว

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

ดังนั้นหลังจากกด F5 เราได้รับข้อความแสดงข้อผิดพลาดอีกครั้ง

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ แก้ไขโค้ดให้ถูกต้องตามนี้

Sub fixing_autofilter_issue_2()

Dim sht As Worksheet
Set sht = Worksheets("Range")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

เราได้เปลี่ยนช่วงเป็น B3:D3 ตอนนี้

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ กด F5 .
หลังจากนั้น คุณจะสามารถกรองช่วงของคุณตามเกณฑ์โดยไม่มีข้อความแสดงข้อผิดพลาด

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

แก้ไข-3 :วิธีการกรองอัตโนมัติของช่วงคลาสปัญหาล้มเหลวเนื่องจากตารางการกรอง

ที่นี่ เรามี ตาราง . ดังต่อไปนี้ โดยเราจะพยายามใช้ตัวเลือกตัวกรองด้วยความช่วยเหลือของโค้ดเพื่อกรองตารางนี้ตาม การขาย คอลัมน์

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

เพื่อจุดประสงค์นี้ เราใช้รหัสต่อไปนี้

Sub fixing_autofilter_issue_3()

Dim sht As Worksheet
Set sht = Worksheets("Table")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

ดูเหมือนว่าทุกอย่างโอเคในรหัสนี้ มาดูกันเลย

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

แต่หลังจากกด F5 เราได้รับข้อความแสดงข้อผิดพลาด

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

เพื่อแก้ไขปัญหานี้ เราต้องแปลงตารางนี้เป็นช่วง
➤ เลือกตารางแล้วไปที่ การออกแบบตาราง แท็บ>> เครื่องมือ กลุ่ม>> แปลงเป็นช่วง ตัวเลือก

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

จากนั้นกล่องข้อความจะปรากฏขึ้นเพื่อให้แน่ใจว่ามีการแปลง
➤ กด ใช่ ที่นี่.

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

หลังจากนั้นคุณจะได้ช่วงจากตารางที่สร้างขึ้น

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ เอาล่ะ มาใส่โค้ดก่อนหน้ากันอีกครั้ง

Sub fixing_autofilter_issue_3()

Dim sht As Worksheet
Set sht = Worksheets("Table")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ กด F5 .
อย่างที่คุณเห็น คราวนี้เป็น วิธีกรองอัตโนมัติ ทำงานอย่างถูกต้อง

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

Fix-4 :วิธีการกรองอัตโนมัติของช่วงคลาสปัญหาล้มเหลวเนื่องจากการกรองตารางสาระสำคัญ

ที่นี่ เรามี Pivot Table . ต่อไปนี้ โดยที่เรามีมูลค่าการขายในคอลัมน์ที่สอง โดยเราจะใช้วิธีการกรองอัตโนมัติ .

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

ดังนั้นเราจึงได้ใช้รหัสต่อไปนี้

Sub fixing_autofilter_issue_4()

Dim sht As Worksheet
Set sht = Worksheets("Pivot")
sht.Range("A3:B3").AutoFilter field:=2, Criteria1:=">=2500"

End Sub

ที่นี่ หมายเลขฟิลด์ 2 ใช้สำหรับคอลัมน์ที่สองของช่วง A3:B3 .

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

หลังจากกด F5 คุณจะได้รับข้อความแสดงข้อผิดพลาด วิธีการกรองอัตโนมัติของ Range Class Failed .

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

ในการแก้ปัญหานี้ คุณสามารถใช้ วิธีการกรองอัตโนมัติ ไปยังช่วงต้นทางของตาราง Pivot
อย่างที่คุณเห็น ช่วงต้นทางที่เรามีสำหรับตารางนี้อยู่ใน แหล่งที่มา แผ่นงานและที่นี่เราจะใช้รหัสของเรา

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ ใช้รหัสต่อไปนี้สำหรับช่วงแหล่งที่มานี้

Sub fixing_autofilter_issue_4_1()

Dim sht As Worksheet
Set sht = Worksheets("Source")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

➤ กด F5 .
ในที่สุด คุณจะสามารถกรองช่วงตามเกณฑ์ที่กำหนดสำหรับ การขาย คอลัมน์

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

แก้ไข-5 :ปัญหาเนื่องจากการใช้ทั้งช่วงแทนส่วนหัว

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

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

เราใช้รหัสต่อไปนี้สำหรับการใช้ตัวกรอง

Sub fixing_autofilter_issue_5()

Dim sht As Worksheet
Set sht = Worksheets("Header")
sht.Range("B3:D11").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

ที่นี่เราใช้ช่วง B3:D11 สำหรับชุดข้อมูลทั้งหมดซึ่งไม่จำเป็น และบางครั้งอาจเป็นสาเหตุของข้อความแสดงข้อผิดพลาดนั้นสำหรับช่วงกว้างๆ

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

ดังนั้น เราสามารถเปลี่ยนรหัสนั้นเป็นรหัสต่อไปนี้ได้โดยใช้ส่วนหัวเป็นช่วงเท่านั้น

Sub fixing_autofilter_issue_5()

Dim sht As Worksheet
Set sht = Worksheets("Header")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

หลังจากกด F5 คุณจะได้ผลลัพธ์ที่ต้องการโดยไม่พบปัญหาใดๆ

[แก้ไข]:วิธีการกรองอัตโนมัติของคลาสช่วงล้มเหลว (5 โซลูชัน)

บทสรุป

ในบทความนี้ เราพยายามที่จะครอบคลุมการแก้ไขที่เป็นไปได้สำหรับ วิธีการกรองอัตโนมัติของ Range Class Failed ปัญหาใน Excel หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใด ๆ โปรดแบ่งปันในส่วนความคิดเห็น

บทความที่เกี่ยวข้อง

  • วิธีการกรองอัตโนมัติและคัดลอกแถวที่มองเห็นได้ด้วย Excel VBA
  • ตัวกรองอัตโนมัติ VBA:เรียงลำดับจากน้อยไปหามาก (3 วิธี)
  • วิธีการกรองค่าอัตโนมัติไม่เท่ากับค่าที่แน่นอนด้วย VBA ใน Excel
  • Excel VBA:ลบตัวกรองอัตโนมัติหากมีอยู่ (7 ตัวอย่าง)