Page 1 of 1

สอบถามสูตร VBA Filter Auto

Posted: Thu Oct 07, 2021 2:45 pm
by pondniizz
รบกวนสอบถามอาจารย์ คะ ถ้าเราจะปรับเปลี่ยนการ Filter ที่ระบุเป็นตัวเลข เป็นค่า ที่เรา รับมาจากการคีย์ ตอนนี้ใช้โค้ด

Code: Select all

Sub Macro6()
'
' Macro6 Macro
'

'
    Sheets("StandardData ").Select
    ActiveSheet.Range("$D$2:$F$6").AutoFilter Field:=1, Criteria1:=">=100", _
        Operator:=xlAnd, Criteria2:="<=200"
    ActiveSheet.Range("$D$2:$F$6").AutoFilter Field:=2, Criteria1:=">=100", _
        Operator:=xlAnd, Criteria2:="<=200"
    ActiveSheet.Range("$D$2:$F$6").AutoFilter Field:=3, Criteria1:=">=1", _
        Operator:=xlAnd, Criteria2:="<=7"
    Range("A3:F3").Select
    Selection.Copy
    Sheets("SearchData").Select
    Range("A11").Select
    ActiveSheet.Paste
    Range("A15").Select
End Sub
ActiveSheet.Range("$D$2:$F$6").AutoFilter Field:=1, Criteria1:=">=100", _
Operator:=xlAnd, Criteria2:="<=200" ค่าระหว่าง 100 -200 นี่ จะเปลี่ยนเป็นการรับจาก Sheets SearchData cell B4 และ ฺB6
แทน และรับค่า ทั้งหมด 3 ตัว ตามลำดับ ที่ทำการ Filter
จะปรับเปลี่ยนโค้ดยังไงดีคะ รบกวนหน่อยนะคะ ไฟล์ตัวอย่างตามที่แนบคะ

** ที่ต้องการคือต้องการค้นหา ขนาด กว้าง*สูง*ยาว โดยที่เรา ระบุ ขนาดตามที่เราต้องการค้นหา ค่า+ ตามที่เรากำหนด แล้วให้แสดงข้อมูลตามที่เรากรอกให้หน้าแสดงผล เช่น กว้าง =100 - 105 สูง 1-10 ยาว 50-100 ก็แสดงรายการที่มีขนาด ก*ส*ย เท่านี้ ทั้งหมด

ที่ใช้วิธีการ Filter แบบนี้ไม่แน่ใจว่าถูกต้องไหมคะ รบกวบ ขอคำแนะนำด้วยคะ

Re: สอบถามสูตร VBA Filter Auto

Posted: Thu Oct 07, 2021 7:18 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
ActiveSheet.Range("$D$2:$F$6").AutoFilter Field:=1, Criteria1:=">=" & ActiveSheet.Range("b4").Value, _
    Operator:=xlAnd, Criteria2:="<=" & ActiveSheet.Range("b6").Value
'Other code