下記のような UserForm上の Module コードを書いてももらったのですが、DoEvents の働きが分からないのです。どなたか分かりやすく説明していただけませんでしょうか?
Private i As Integer
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TextBox1.Value = Me.Label1.Caption Then
Me.Label2.Caption = "正解です"
Else
Me.Label2.Caption = "不正解です"
End If
DoEvents
If i < 20 Then
i = i + 1
Label_Up
Me.TextBox1.Value = ""
Cancel = True
Else
MsgBox "終了です"
End If
End Sub
Private Sub UserForm_Initialize()
i = 1
Label_Up
End Sub
Private Sub Label_Up()
Me.Label1.Caption = Sheets("Sheet1").Range("A1:A20").Cells(i).Value
DoEvents
End Sub