Page 1 of 1
ต้องการ Auto filter จาก Cell ที่ระบุ
Posted: Fri Jul 01, 2011 10:47 am
by ekkaluk_suk
ต้องการให้เราเลือกเดือนที่ cell ที่เรากำหนด แล้ว ค่า Auto filter เปลี่ยนตามที่เราเลือก
ใน file ตัวอย่างที่แนบมานี้ ต้องการเลือกที่ cell F29 แล้วในตารางแสดงตามเดือนที่เราเลือก
จะใช้วิธีการใดได้บ้าง
Re: ต้องการ Auto filter จาก Cell ที่ระบุ
Posted: Fri Jul 01, 2011 11:09 am
by snasui

น่าจะเหมือนกับกระทู้นี้ซึ่งใช้ VBA ร่วมกับ Advanced Filter ครับ
http://www.snasui.com/viewtopic.php?f=3&t=1193
Re: ต้องการ Auto filter จาก Cell ที่ระบุ
Posted: Fri Jul 01, 2011 11:50 am
by ekkaluk_suk
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Range("A1").Address = "$B$4" And Target.Range("A1") <> "" Then
AdvancedFilterData
ElseIf Target.Range("A1").Address = "$B$4" And Target.Range("A1") = "" Then
ShowDataAll
End If
End Sub
ขอความหมายหน่อยครับ ลองมา Run ที่ file ของผมแล้วมัน error เพราะดูที่ Macro แล้วไม่เห็นมีการกำหนดช่วง
และ column ที่จะ filter เลย
Re: ต้องการ Auto filter จาก Cell ที่ระบุ
Posted: Fri Jul 01, 2011 11:56 am
by snasui

ไฟล์ในกระทู้นั้นมี Code ตามด้านล่างอยู่ด้วยครับ
Code: Select all
Sub AdvancedFilterData()
Range("$A$3:$E$300").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("$G$2:$G$3"), Unique:=False
End Sub
Sub ShowDataAll()
ActiveSheet.ShowAllData
End Sub
จาก
ekkaluk_suk wrote:Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Range("A1").Address = "$B$4" And Target.Range("A1") <> "" Then
AdvancedFilterData
ElseIf Target.Range("A1").Address = "$B$4" And Target.Range("A1") = "" Then
ShowDataAll
End If
End Sub
ขอความหมายหน่อยครับ ลองมา Run ที่ file ของผมแล้วมัน error เพราะดูที่ Macro แล้วไม่เห็นมีการกำหนดช่วง
และ column ที่จะ filter เลย
หมายความว่า ถ้า ณ ขณะนี้ทำงานอยูกับเซลล์ B4 และ B4 ไม่เป็นเซลล์ว่างแล้วให้ Run Code AdvancedFilterData หากไม่เช่นนั้นให้ Run Code ShowDataAll