Page 1 of 1
การ Hide แถวใน Excel
Posted: Sun Jun 30, 2013 9:01 am
by วังวู ช่ง
เรียน ท่าน อาจารย์ และ สมาชิกทุกท่านครับ
ช่วยผมแก้ปัณหาคือว่า ถ้าแถวใดไม่มีตัวเลขใน
Column L ให้ Hide ไว้ครับตัวอย่างนี้คือ
แถว 15-20,22-23,25-28,30-45,48-51,54-61
66-77,91-93,97-103,108-117,119-121,123-155
157,159-170,183-186,188 และ 190-196 ครับ
แต่มีมากกว่านี้ครับ เพียงเป็นตัวอย่างครับ
ทังหมด 100 กว่า มส ครับ
ความต้องการใน sheet2 ครับ
ขอบคุณล่วงหน้าครับ
Re: การ Hide แถวใน Excel
Posted: Sun Jun 30, 2013 9:14 am
by snasui

ลองตามนี้ครับ
- เซลล์ M11 คีย์ CheckAmout เพื่อเป็นหัวคอลัมน์
- เซลล์ M12 คีย์สูตร
=L12=0
Enter > Copy ลงด้านล่าง
- คลุม M11:Mn (n คือเซลล์สุดท้ายทีมีข้อมูล)
- เข้าเมนู Data > Filter > คลิก Dropdown ที่ M11 แล้วเลือก False
Re: การ Hide แถวใน Excel
Posted: Sun Jun 30, 2013 8:44 pm
by วังวู ช่ง
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 2:29 am
by วังวู ช่ง
ถ้าใช้กรับ VBA ความต้องการคือว่า ถ้าเลือกรหัสใน M1 (sheet Report) ให้ Hide ที่ M12:M201 ส่วนที่เป็น TRUE ครับ จะแก้ไข Code อย่างไลครับ
ขอบคุณทุกท่านล่วงหน้าครับ
Code: Select all
Sub Filter()
If Range("M1") = "" Then
ActiveSheet.ShowAllData
Else
ActiveSheet.Range("$M$12:$M$201").AutoFilter Field:=1, _
Criteria1:=Range("M1").Value
End If
End Sub
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 7:19 am
by snasui

ถ้าต้องการเลือกจาก M1 ให้เปลี่ยน M1 เป็น True กับ False เพื่อใช้กรองข้อมูลครับ
หากจะเปลี่ยนใน Code ก็เปลี่ยนที่
Criteria1:=Range("M1").Value ลองเปลี่ยนเองดูก่อนครับ
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 8:25 am
by วังวู ช่ง
snasui wrote:
ถ้าต้องการเลือกจาก M1 ให้เปลี่ยน M1 เป็น True กับ False เพื่อใช้กรองข้อมูลครับ
หากจะเปลี่ยนใน Code ก็เปลี่ยนที่
Criteria1:=Range("M1").Value ลองเปลี่ยนเองดูก่อนครับ
เนื่องจากเปลี่ยน M1 เป็น True กับ False ไม่ได้ เพราะเป็นรหัสของโรงเรียนครับ นั้นผมเปลี่ยนแปลง True กับ False มาเป็นรหัสใน M1 แทน แล้วเอา Code ตามเก่าครับ
Code: Select all
Sub Filter()
If Range("M1") = "" Then
ActiveSheet.ShowAllData
Else
ActiveSheet.Range("$M$12:$M$201").AutoFilter Field:=1, _
Criteria1:=Range("M1").Value
End If
End Sub
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 8:44 am
by snasui

สรุปว่า คำถามคืออะไร ตอนนี้แก้ปัญหาได้แล้วหรือไม่ครับ
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 9:17 am
by วังวู ช่ง
snasui wrote:
สรุปว่า คำถามคืออะไร ตอนนี้แก้ปัญหาได้แล้วหรือไม่ครับ
ได้แล้วครับ ท่าน อาจารย์ครับ เนื่องจากท่าน อาจารย์แนะนำแบบนี้
snasui wrote:
ถ้าต้องการเลือกจาก M1 ให้เปลี่ยน M1 เป็น True กับ False เพื่อใช้กรองข้อมูลครับ
หากจะเปลี่ยนใน Code ก็เปลี่ยนที่
[color=#FF0000]Criteria1:=Range("M1").Value[/color] ลองเปลี่ยนเองดูก่อนครับ
ผมมาเปี่ลยน
[color=#FF0000]Criteria1:=Range("M1").Value[/color] ก็ไม่ได้เลียแปลง FALSE ให้ตรงค่าใน M1 ส่วน TRUE ให้เป็น BLANKS แล้วส่วน Code จะไม่เปลี่ยนแปลงแล้วสามาดใช้ได้แล้วครับ
ขอบคุณท่านอาจารย์ครับ
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 9:27 am
by snasui
snasui wrote:
ถ้าต้องการเลือกจาก M1 ให้เปลี่ยน M1 เป็น True กับ False เพื่อใช้กรองข้อมูลครับ
หากจะเปลี่ยนใน Code ก็เปลี่ยนที่
Criteria1:=Range("M1").Value ลองเปลี่ยนเองดูก่อนครับ

ผมหมายถึงว่าสามารถเปลี่ยนได้ 2 ที่หลัก ๆ นั่นคือเปลี่ยนที่ M1 หรือเปลี่ยนใน Code
แต่เท่าที่ดูสูตรเป็นการดึงค่ามาตามเงื่อนไขใน M1 มาเป็นลำดับแรก ถัดมาจึงจะดู True หรือ False หากเป็นเช่นนี้จึงควรปรับใน Code
ยกตัวอย่างเช่น ดูค่าใน M1 ที่เป็น False สามารถปรับ Code เป็น
Code: Select all
Sub Filter()
If Range("M1") = "" Then
ActiveSheet.ShowAllData
Else
ActiveSheet.Range("$M$12:$M$201").AutoFilter Field:=1, _
Criteria1:=False
End If
End Sub
Re: การ Hide แถวใน Excel
Posted: Sun Jul 28, 2013 1:25 pm
by วังวู ช่ง
snasui wrote:snasui wrote:
ถ้าต้องการเลือกจาก M1 ให้เปลี่ยน M1 เป็น True กับ False เพื่อใช้กรองข้อมูลครับ
หากจะเปลี่ยนใน Code ก็เปลี่ยนที่
Criteria1:=Range("M1").Value ลองเปลี่ยนเองดูก่อนครับ

ผมหมายถึงว่าสามารถเปลี่ยนได้ 2 ที่หลัก ๆ นั่นคือเปลี่ยนที่ M1 หรือเปลี่ยนใน Code
แต่เท่าที่ดูสูตรเป็นการดึงค่ามาตามเงื่อนไขใน M1 มาเป็นลำดับแรก ถัดมาจึงจะดู True หรือ False หากเป็นเช่นนี้จึงควรปรับใน Code
ยกตัวอย่างเช่น ดูค่าใน M1 ที่เป็น False สามารถปรับ Code เป็น
Code: Select all
Sub Filter()
If Range("M1") = "" Then
ActiveSheet.ShowAllData
Else
ActiveSheet.Range("$M$12:$M$201").AutoFilter Field:=1, _
Criteria1:=False
End If
End Sub

ขอบคุณท่านอาจารย์ครับ
ผมปรับแล้วแต่ผมปรับแบบนี้ แล้วมันไม่ได้ครับ ผมทำผิดเองครับ