Mohon di koreksi Mr.Kid, kesalahan disebelah mana dan pembetulannya gimana pada 
cekrip berikut.?? Maaf belum begitu bias hehehe..

Private bChange As Boolean, chkGroup1(1 To 5), chkGroup2(6 To 8) As Control

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox14.Value = ListBox1.List(ListBox1.ListIndex, 2)
    TextBox15.Value = ListBox1.List(ListBox1.ListIndex, 5)
End Sub

Private Sub TextBox2_Change()
If TextBox2.Value = "" Or TextBox12.Value = "" Then
TextBox13.Value = ""
Exit Sub
End If
TextBox13.Value = Format(CDbl(TextBox12.Value) * CDbl(TextBox12.Value), "#,##0")
End Sub
Private Sub UserForm_Initialize()
    bChange = False
    Set chkGroup1(1) = chk1
    Set chkGroup1(2) = chk2
    Set chkGroup1(3) = chk3
    Set chkGroup1(4) = chk4
    Set chkGroup1(5) = chk5
    Set chkGroup2(6) = chk6
    Set chkGroup2(7) = chk7
    Set chkGroup2(8) = chk8

With OpnChk.ListBox1
.ColumnCount = 6
.ColumnHeads = True
.ColumnWidths = "30;55;100;70;90"
.RowSource = "List_dbB1"
.MultiSelect = fmMultiSelectSingle
.BoundColumn = 0

End With
End Sub

Private Sub chk1_Change()
    ChangeChk 1
End Sub

Private Sub chk2_Change()
    ChangeChk 2
End Sub

Private Sub chk3_Change()
    ChangeChk 3
End Sub
Private Sub chk4_Change()
    ChangeChk 4
End Sub

Private Sub chk5_Change()
    ChangeChk 5
End Sub
Private Sub chk6_Change()
    ChangeChk 6
End Sub
Private Sub chk7_Change()
    ChangeChk 7
End Sub
Private Sub chk8_Change()
    ChangeChk 8
End Sub


Private Sub ChangeChk(lIdx As Long)
    Dim lChk As Long, bState As Boolean
    
    If bChange Then
        Exit Sub
    End If
    
    If chkGroup1(lIdx).Value Then
        bChange = True
        For lChk = 1 To 5
            If lChk <> lIdx Then 'selain checkbox yang diubah user
                chkGroup1(lChk).Value = False
            End If
        Next lChk
        bChange = False
    Else    'kalau mau set agar selalu ada yang di-checked, setidaknya checkbox 
setelahnya
        If lIdx = 5 Then
            lIdx = 0
        End If
        chkGroup1(lIdx + 1) = True
    End If
'di bawah ini untuk grup 2
        If chkGroup2(lIdx).Value Then
        bChange = True
        For lChk = 6 To 8
            If lChk <> lIdx Then 'selain checkbox yang diubah user
                chkGroup2(lChk).Value = False
            End If
        Next lChk
        bChange = False
    Else    'kalau mau set agar selalu ada yang di-checked, setidaknya checkbox 
setelahnya
        If lIdx = 3 Then
            lIdx = 0
        End If
        chkGroup2(lIdx + 1) = True
    End If
End Sub

Sent from Mail for Windows 10

From: 'Mr. Kid' [email protected] [belajar-excel]

Kirim email ke