พึ่งคิดได้ว่าก็ใช้คำสั่งให้ทุกปุ่มที่มีซ่อนก่อนแล้วค่อยมาสั่งแสดงตามตัวเลขที่หลังอีกที
Private Sub Text5_AfterUpdate()
Me.Command1.Visible = False
Me.Command2.Visible = False
Me.Command3.Visible = False
Me.Command4.Visible = False
GetNum = Me.Text5
Select Case GetNum
Case "1": Me.Command1.Visible = True
Case "2": Me.Command2.Visible = True
Case "3": Me.Command3.Visible = True
Case "4": Me.Command4.Visible = True
End Select
End Sub
โค้ดข้างบนสามารถลดรูปลงมาได้นะครับ พร้อมกับรองรับกรณี Text5 ไม่ได้เป็นตัวเลข
Dim I As Integer
Dim J As Integer
If IsNumeric(Me.Text5) Then J = CInt(Me.Text5)
For I = 1 to 12
Me("command" & Cstr(I)).Enabled = (I = J)
Next
แต่สงสัยว่าทำไมต้องทำ 12 ปุ่ม สร้างปุ่มเดียวแล้วพิจารณาการทำงานของโค้ดในปุ่มนั้นด้วยค่าจาก Text5 ไม่ง่ายกว่าหรือ ?