Firstly, the 'For i' loop is not needed.
I assume that CmsKnap is an array of CommandButtons, if the first element is Index 1 then
Code:
If CmdKnap(1).Caption = CStr(puzzle(j,1)) Then
'
' It's the same
'
Else
'
' It's not the same
'
End If
Will check if the first square is correct.
More generally, and assuming that you've also got an array of ComboBoxes
Code:
Private Sub Combo1_Click(Index As Integer)
CmdKnap(Index).Caption = Combo1(Index).Text
If CmdKnap(Index).Caption = Cstr(puzzle(j, Index)) Then
'
' It's correct
'
Else
'
' It's incorrect
'
End If
End Sub