vb有关问题紧急求解决

vb问题紧急,求解决
部分程序如下:
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim i, j As Integer
For i = 0 To Label1.Count - 1
If Label1.Item(i).Caption = Chr(KeyAscii) Then
  Image1.Visible = True
  Image1.Top = Label1.Item(i).Top
  Image1.Left = Label1.Item(i).Left - 300
  Label1.Item(i).Top = -500
  If shezhi.sOption1.Value Then
  If shezhi.nOption1.Value Then H = H + 1
  ElseIf shezhi.nOption2.Value Then H = H + 2
  ElseIf shezhi.nOption3.Value Then H = H + 3
  End If
  If shezhi.sOption2.Value Then
  If shezhi.nOption1.Value Then H = H + 2
  ElseIf shezhi.nOption2.Value Then H = H + 3
  ElseIf shezhi.nOption3.Value Then H = H + 4
  End If
  If shezhi.sOption3.Value Then
  If shezhi.nOption1.Value Then
  H = H + 3
  ElseIf shezhi.nOption2.Value Then
  H = H + 4
  ElseIf shezhi.nOption3.Value Then
  H = H + 5
  End If
 
  Label2.Caption = "得分:" & H
  Randomize
  If shezhi.nOption1.Value Then
  j = Int((122 - 97 + 1) * Rnd + 97)
  ElseIf shezhi.nOption2.Value Then
  j = Int((90 - 65 + 1) * Rnd + 65)
  ElseIf shezhi.nOption3.Value Then
  j = Int((126 - 48 + 1) * Rnd + 48)
  End If
  Label1.Item(i).Caption = "" & Chr(j) & ""
End If
If Label1.Item(i).Top > 6250 Then
 If MsgBox("此次游戏结束,重来吗?", vbYesNo, "游戏结束") = vbYes Then
  MsgBox "您现在的得分是:" & H & "分", vbOKOnly, "成绩"
  Unload Me
  shezhi.Visible = True
  Exit Sub
 End If

Next i
End Sub
纠结了很久,老说我NEXT没有for,实在想不出

------解决方案--------------------
VB code

Private Sub Form_KeyPress(KeyAscii As Integer)
Dim i, j As Integer
For i = 0 To Label1.Count - 1
    If Label1.Item(i).Caption = Chr(KeyAscii) Then
        Image1.Visible = True
        Image1.Top = Label1.Item(i).Top
        Image1.Left = Label1.Item(i).Left - 300
        Label1.Item(i).Top = -500
        If shezhi.sOption1.Value Then
            If shezhi.nOption1.Value Then H = H + 1
            ElseIf shezhi.nOption2.Value Then H = H + 2
            ElseIf shezhi.nOption3.Value Then H = H + 3
        End If
        If shezhi.sOption2.Value Then
            If shezhi.nOption1.Value Then H = H + 2
            ElseIf shezhi.nOption2.Value Then H = H + 3
            ElseIf shezhi.nOption3.Value Then H = H + 4
        End If
        If shezhi.sOption3.Value Then
            If shezhi.nOption1.Value Then
                H = H + 3
            ElseIf shezhi.nOption2.Value Then
                H = H + 4
            ElseIf shezhi.nOption3.Value Then
                H = H + 5
            End If
            Label2.Caption = "得分:" & H
            Randomize
            If shezhi.nOption1.Value Then
                j = Int((122 - 97 + 1) * Rnd + 97)
            ElseIf shezhi.nOption2.Value Then
                j = Int((90 - 65 + 1) * Rnd + 65)
            ElseIf shezhi.nOption3.Value Then
                j = Int((126 - 48 + 1) * Rnd + 48)
            End If
            Label1.Item(i).Caption = "" & Chr(j) & ""
        End If
        If Label1.Item(i).Top > 6250 Then
            If MsgBox("此次游戏结束,重来吗?", vbYesNo, "游戏结束") = vbYes Then
                MsgBox "您现在的得分是:" & H & "分", vbOKOnly, "成绩"
                Unload Me
                shezhi.Visible = True
                Exit Sub
            End If
        End If
    End If
Next
End Sub
你写少了多少个End If呀?
代码应该要缩进,否则就会出现你这种情况。