Page 1 of 1

รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 8:34 am
by akung
คือสมมุติว่ามีการทำอะไรกับแถว A1 กับ A8 เสร็จแล้วให้ทำการซ่อน Auto พอมีวิธีไหมครับ

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 9:32 am
by bank9597
:D สามารถทำได้ครับ โดยใช้ VBA แต่ก็ต้องลองเขียนมาเองก่อนครับ ติดตรงไหนค่อยถามมาเรื่อยๆ :D

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 10:20 am
by akung
แนบตัวอย่างที่ทำมาให้ดูครับ ผมทำแล้วไม่ตรงตามความต้องการ คือ สมมุติจะคีย์ข้อมูลที่ แถว 1 แต่ต้องการคีย์ ที่ Column A-E มันกลับซ่อนทันที่ ที่ผมคีย์ ColumnA รบกวนด้วยครับ

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 10:57 am
by bank9597
:D ลองปรับโค๊ดตามนี้ครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Range("A1,A8")
If r <> "" Then
    r.EntireRow.Hidden = True
End If
End Sub

ทดสอบคีย์ข้อมูลใดๆ ลงในเซลล์ A1 และ A8 ครับ

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 4:59 pm
by akung
bank9597 wrote::D ลองปรับโค๊ดตามนี้ครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Range("A1,A8")
If r <> "" Then
    r.EntireRow.Hidden = True
End If
End Sub

ทดสอบคีย์ข้อมูลใดๆ ลงในเซลล์ A1 และ A8 ครับ
ต้องขออภัยครับที่แจ้งไม่ละเอียด ความเป็นจริงแล้ว มีการทำทุกแถวเลยครับ เพียงแต่ว่าพอทำแถวนี้เสร็จแล้ว ให้ซ่อนเลย พอทำอีกแถวก็ให้ซ่อนไปเรื่อย ๆ นะครับ ขอบคุณครับ

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 8:58 pm
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Target.Row >= 1 And Target.Row <= 8 Then
        Target.EntireRow.Hidden = True
    End If
End Sub

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 10:37 pm
by akung
snasui wrote::D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Target.Row >= 1 And Target.Row <= 8 Then
        Target.EntireRow.Hidden = True
    End If
End Sub
ยังคงไม่ได้เหมือนเดิมครับ พอคีย์ A1 เข้าไประบบก็ซ่อนทั้งแถวเลยครับ :cry:

Re: รบกวนขอเทคนิคการซ่อนแถวแบบ Auto หน่อยครับ

Posted: Fri Apr 27, 2012 10:44 pm
by akung
ผมลองปรับ code เป็นแบบนี้ ครับ ถึงจะได้

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then
Target.EntireRow.Hidden = True
End If
End Sub

ขอบคุณมากครับ