ลองไปทดสอบดูนะครับ ผมใช้การจับลำดับของ combobox โดยใช้ Active Control
สาย DIY อีกแล้วนะครับอิอิ โดยใช้ Call select_case ใน Event AfterUpdate() ทุกอันนะครับ
โดยผมจะกำหนด combobox เป็น Nboss_1 แทนของเดิมคือ 01 นะครับ
ข้อดีมีโค้ดชุดเดียวมีกี่ combobox ก็ได้ครับไม่จำกัด
เช่น
Private Sub Nboss_1_AfterUpdate()
Call select_case
End Sub
Private Sub Nboss_2_AfterUpdate()
Call select_case
End Sub
Private Sub Nboss_3_AfterUpdate()
Call select_case
End Sub
Private Sub Nboss_ลำดับ N_AfterUpdate()
Call select_case
End Sub
Sub select_case()
Dim strTextName,GetString,GetNum As String
strTextName = ActiveControl.Name
GetNum = Right(strTextName, Len(strTextName) - InStrRev(strTextName, "_"))
Me("ne_" & GetNum) = Me(strTextName).Column(4)
GetString = Me(strTextName).Column(4)
Select Case GetString
Case "Undead": Me("WinNE_" & GetNum).Value = "Fire"
Case "Earth": Me("WinNE_" & GetNum).Value = "Fire"
Case "Fire": Me("WinNE_" & GetNum).Value = "Water"
Case "Water": Me("WinNE_" & GetNum).Value = "Wind"
Case "Wind": Me("WinNE_" & GetNum).Value = "Earth"
Case "Poison": Me("WinNE_" & GetNum).Value = "Holy"
Case "Shadow": Me("WinNE_" & GetNum).Value = "Holy"
Case "Holy": Me("WinNE_" & GetNum).Value = "Shadow"
Case Else: Me("WinNE_" & GetNum).Value = ""
End Select
End Sub