Page 1 of 1
VBA ในการ HideRows
Posted: Mon Nov 02, 2020 12:51 pm
by วังวู ช่ง
รบกวนท่านที่รู้ครับ ผมต้องการ Hide แถวด้วย VBA ที่มาพร้อมนี้ครับ ความต้องการคือว่า
ถ้า I4:I4031 ใน sheet Database ไม่เท่ากับ B1 ใน sheet Pol ให้ Hide ครับ จะปรับ VBA อย่างไรครับ
Code: Select all
Sub HideRows()
Sheets("Database").Select
Dim r As Range
For Each r In Range("I4:I4031")
If r <> "=Pol!R[1]C[-1]" Then
r.EntireRow.Hidden = True
End If
Next r
End Sub
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 2:08 pm
by parakorn
ลองปรับตามนี้ครับ
=Pol!R[1]C[-1] เป็น =Pol!R1C2
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 3:23 pm
by วังวู ช่ง
parakorn wrote: Mon Nov 02, 2020 2:08 pm
ลองปรับตามนี้ครับ
=Pol!R[1]C[-1] เป็น =Pol!R1C2
ยังไม่ได้ครับ
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 3:43 pm
by parakorn
ลองตัดไฟล์เป็นตัวอย่างให้เพื่อนๆลองทดสอบดูครับ
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 4:17 pm
by วังวู ช่ง
parakorn wrote: Mon Nov 02, 2020 3:43 pm
ลองตัดไฟล์เป็นตัวอย่างให้เพื่อนๆลองทดสอบดูครับ
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 4:43 pm
by parakorn
ปรับตามนี้ครับ
Code: Select all
Sub HideRows()
Sheets("Database").Select
Dim r As Range
For Each r In Range("I4:I4031")
If r <> Sheets("Pol").Range("B1").Value Then
r.EntireRow.Hidden = True
End If
Next r
End Sub
Re: VBA ในการ HideRows
Posted: Mon Nov 02, 2020 8:53 pm
by วังวู ช่ง
parakorn wrote: Mon Nov 02, 2020 4:43 pm
ปรับตามนี้ครับ
Code: Select all
Sub HideRows()
Sheets("Database").Select
Dim r As Range
For Each r In Range("I4:I4031")
If r <> Sheets("Pol").Range("B1").Value Then
r.EntireRow.Hidden = True
End If
Next r
End Sub
ขอบคุณมากครับท่าน
ได้ตามต้องการเลยครับ

Re: VBA ในการ HideRows
Posted: Tue Dec 01, 2020 6:09 am
by วังวู ช่ง
รบกวนถามต่อครับ
ถ้าเราวางเงื่อนไขอีกว่า
ถ้า L8:L121 และ Q8:Q121 มีค่าเป็นว่างให้ hide ครับ ไม่ว่างก็อไม่ hide จะปรับ code นี้อย่างไรครับ
Code: Select all
Sub HideRows()
Dim r As Range
For Each r In Range("l8:q121")
If r = "" Then
r.EntireRow.Hidden = True
End If
Next r
End Sub
Re: VBA ในการ HideRows
Posted: Tue Dec 01, 2020 8:49 am
by logic
น่าจะแบบนี้นะครับ
Code: Select all
'...
For Each r In Range("l8:l121")
If r = "" and r.offset(0,5) = "" Then
'...
Re: VBA ในการ HideRows
Posted: Tue Dec 01, 2020 2:41 pm
by วังวู ช่ง