ไปต่อไม่ได้ครับ รบกวนสอบถามเพิ่มครับ
1.textbox11 ยังแสดงข้อมูลที่มีทั้งหมด ไม่แแสดงข้อมูลตาม code ที่อาจารย์แนะนำมาครับ โดยที่ HN ที่จำนวนตัวอักษรน้อยกว่า 5 มีจำนวน 6 แถว แต่ textbox11 จะแสดงจำนวนข้อมูลแถวที่มีทั้งหมดคือ 20
Code: Select all
Sub PERSON()
Dim ws As Worksheet
Dim x As Long, i As Integer, r As Range
Set ws = Worksheets("PERSON")
With ws
ws.Activate
alldata.ControlSource = "F43Import!Q5"
x = Application.CountA(.Range("a4:a100000"))
For Each r In .Range("a4,c4,e4,f4,g4,i4,j4,o4,ad4,ae4")
i = i + 1
Me.Controls("TextBox" & i).Text = x - Application.CountA(r.Resize(100000))
Me.TextBox11.Text = Application.CountA(.Range("h4:h100000")) - _
Application.CountIfs(.Range("h4:h100000"), "?????*")
Next r
End With
End Sub
2.กรณีปุ่มตรวจสอบที่ HN สามารถแสดงข้อแถวที่มีข้อมูลตามที่ต้องการได้ครับ แต่ตัว filter หายไปครับ เพราะเมื่อกดปุ่มเคลียร์แล้ว จะไม่แสดงข้อมูลทั้หมดออกมา ผมอยากให้หลังจากแสดงข้อมมูลแล้ว ตัว filter ยังแสดงอยู่ครับ ผมได้เพิ่มบรรทัดให้แสดง filter เข้าไป สามารถแสดงตัว filter ได้ แต่จะแสดงข้อมูลทั้งหมดแทนและแสดง cell สีเหลืองตามเงื่อนไข แต่จะไม่แสดงเฉพาะข้อมูลที่ต้องการคือจำนวน แถวที่มีเลข HN น้อยกว่า 5 ตัวอักษรครับ
Code: Select all
Private Sub LenHN_Click()
Dim lr As Long, r As Range
lr = Range("H" & Rows.Count).End(xlUp).Row
For Each r In ActiveSheet.Range("H3:H" & lr)
If Len(r.Value) < 5 Then
r.Interior.Color = vbYellow
End If
Next r
Range("aj2").Formula = "=len(h4)<5"
Range("a4").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, criteriarange:=Range("aj1:aj2")
ActiveSheet.Range("$A$3:$AG$100000").AutoFilter Field:=8 'บรรทัดที่เพิ่มเข้ามาเพื่อให้แสดงตัวกรองทุกคอลลัมม์
Range("aj2").ClearContents
Range("H4").Activate
End Sub
รบกวนชี้แนะด้วยครับ เพราะผมเหลือเพียงแค่ 2 ปัญหานี้ก็จะสามารถไปต่อได้แล้วครับ ขอบพระคุณครับ
You do not have the required permissions to view the files attached to this post.