Page 1 of 1

สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Fri Sep 28, 2018 8:04 pm
by tulkavin
สวัสดีครับ เพื่อนๆ และ อาจารย์

ผมขอสอบถามนิดนึงครับ ลองพยามหาเองมา 2 วันได้แล้ว แต่หาไม่เจอ

ไม่ทราบว่าใน vba สามารถเขียนให้ไม่แสดงได้มั้ยครับ คือตอนนี้เขียนมาสักหน่อยแล้ว เช่นว่า check box 1 . check box 2 . check box 3 แล้วกดปุ่มตกลง เพื่อให้แสดง 1.1 / 1.2 / 1.3 / 2.1 / 2.2 / 2.3 /3.1 / 3.2 /3.3

ถ้าเช็ค 1 กับ 3 ให้แสดง 1.1 / 1.2 / 1.3 / 3.1 / 3.2 / 3.3 ก็จะซ่อน 2.1 / 2.2 2.3

ถ้าเช็ค 2 3 ให้แสดง 2.1 / 2.2 / 2.3 / 3.1 / 3.2 / 3.3

อะไรแบบนี้ครับ

ลองมาหลายอันแล้วแต่ไม่เจอ ทั้ง caption , enabled , ...

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

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Fri Sep 28, 2018 8:52 pm
by snasui
:D ในเบื้องต้น การซ่อน ยกเลิกการซ่อน Object ทำได้ด้วย VBA ครับ

ส่วนจะซ่อนด้วยความซับซ้อนขนาดไหนคงต้องวาดออกมาให้เห็น แค่ซ่อนอย่างเดียวอาจจะไม่ตรงกับที่ต้องการก็เป็นได้ เพราะซ่อนไปอาจจะเกิดพื้นที่ว่าง ต้องขยับให้มีระยะเหมาะสมด้วยหรือไม่ อย่างไร ฯลฯ เป็นสิ่งที่ต้องคำนึงตามมา การจัดการงานลักษณะนี้ไม่ง่ายนักครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Mon Oct 01, 2018 4:13 pm
by OnliezU
ถ้าตามตัวอย่าง

ถ้าเช็ค 1 กับ 3 ให้แสดง [1.1][1.2][1.3] [3.1][3.2][3.3] ก็จะซ่อน [2.1][2.2][2.3]

สามารถทำได้ด้วยคำสั่ง .visible โดยแสดง/ไม่แสดง ตัวเลือกให้เห็นภายในเหตุการณ์ที่ต้องการ(Event)ครับ หรือจะใช้ .enabled เปิด/ปิดไม่ให้ใช้งานก็ได้แต่จะไม่ซ่อนครับ และอนาคตจะมีปัญหาตามที่อาจารย์ได้ชี้แนะด้านบน ในกรณีที่ต้องการซ่อน/ขยายตัวเลือกทั้งชุด

ขอบคุณครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 4:40 pm
by tulkavin
เอาแค่ไม่แสดงเฉยๆก็ได้ครับ เพราะผมตั้งล็อคค่าไว้ให้ไม่ขยับ ไม่ปรับขนาด

ปัญหาคือตอนเริ่มใบงานจะมี row ถูกซ่อนไว้อยู่ แต่ check box , radio box พวกนี้จะไม่หายไป มันดูเกะกะรกตาครับ อยากให้ถูกซ่อนๆไป แล้วพอเงื่อนไขครบค่อยให้แสดงออกมา

ผมรบกวนขอคำสั่งนั้นหน่อยได้มั้ยครับ

ขอบคุณอาจารย์ครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 4:47 pm
by tulkavin
ถ้าผมตั้งชื่อให้ check box เป็น Chk_Teacker ต้องเขียนคำสั่งเป็นแบบนี้รึป่าวครับ
ActiveSheet.CheckBoxes("Chk_Teacher").Value = xlOn ใช่มั้ยครับ

แต่ถ้าจะเขียนให้ไม่แสดง ต้องเขียนแบบอื่น อย่างไรครับ

ขอบคุณครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 5:10 pm
by snasui
:D กรุณาแนบไฟล์ตัวอย่างมาด้วยเพื่อสะดวกในการตอบครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 7:30 pm
by tulkavin
แนบไฟล์ครับ

ขอสอบถามเพิ่มเติมด้วยนะครับ

จะมีช่องที่เป็น ด้านที่ 1 / ด้านที่ 2 / ด้านที่ 3 / ด้านที่ 4 .... 8

ผมเขียนไว้คลิก check box แต่ละอันของตัวเอง แต่เขียนไว้ในกลุ่มเดียวกัน เพื่อ assign macro ลงเหมือนกันทีเดียว แต่ผลคือหน่วงๆเหมือนอ่านโค้ดเยอะไป ผมควรแยกกลุ่ม 1 check box 1 code ไปเลยแบบนี้มั้ยครับ

ขอบคุณครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 7:44 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub WallOutsideLong()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    If Cells(38, "C").Value = True Then
    Cells(38, "C").RowHeight = 20
    Cells(38, "e").Value = 0
    Else
    Cells(38, "C").RowHeight = 0
    Cells(38, "e").Value = 0
    End If
    
    If Cells(39, "C").Value = True Then
    Cells(39, "C").RowHeight = 20
    Cells(39, "e").Value = 0
    Else
    Cells(39, "C").RowHeight = 0
    Cells(39, "e").Value = 0
    End If
    
    If Cells(40, "C").Value = True Then
    Cells(40, "C").RowHeight = 20
    Cells(40, "e").Value = 0
    Else
    Cells(40, "C").RowHeight = 0
    Cells(40, "e").Value = 0
    End If
    
    If Cells(41, "C").Value = True Then
    Cells(41, "C").RowHeight = 20
    Cells(41, "e").Value = 0
    Else
    Cells(41, "C").RowHeight = 0
    Cells(41, "e").Value = 0
    End If
    
    If Cells(42, "C").Value = True Then
    Cells(42, "C").RowHeight = 20
    Cells(42, "e").Value = 0
    Else
    Cells(42, "C").RowHeight = 0
    Cells(42, "e").Value = 0
    End If
    
    If Cells(43, "C").Value = True Then
    Cells(43, "C").RowHeight = 20
    Cells(43, "e").Value = 0
    Else
    Cells(43, "C").RowHeight = 0
    Cells(43, "e").Value = 0
    End If
    
    If Cells(44, "C").Value = True Then
    Cells(44, "C").RowHeight = 20
    Cells(44, "e").Value = 0
    Else
    Cells(44, "C").RowHeight = 0
    Cells(44, "e").Value = 0
    End If
    
    If Cells(45, "C").Value = True Then
    Cells(45, "C").RowHeight = 20
    Cells(45, "e").Value = 0
    Else
    Cells(45, "C").RowHeight = 0
    Cells(45, "e").Value = 0
    End If
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 9:29 pm
by tulkavin
ผมขออนุญาติสอบถามการซ่อนพวก check box , option button ด้วยได้มั้ยครับ

ขอบคุณครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 9:34 pm
by snasui
:D หากเป็นคำถามที่เกี่ยวเนื่องกันไปสามารถถามในกระทู้นี้ได้เลยครับ แต่หากเป็นเรื่องใหม่ ไม่เกี่ยวกับกระทู้เดิม ให้ตั้งเป็นกระทู้ใหม่ครับ

Re: สอบถาม check box ไม่แสดงได้มั้ยครับ

Posted: Sat Oct 06, 2018 11:47 pm
by tulkavin
อ่อ ขอโทษด้วยครับ

พอดีเห็นว่าเป็นกระทู้สอบถามเรื่อง check box อยู่แล้ว , เดี๋ยวผมตั้งกระทู้ใหม่ครับ ขอโทษด้วยครับหากผิดกฎครับ