VBAでプログレスバー設定を教えてください。
VBAでプログレスバー設定を教えてください。 以下の内容で設定したのですが、ボタンをクリックするとユーザーフォームのマクロが何回も繰り返しながらかなりゆっくりプログレスバー(約10分)が動きます。ユーザーフォームにマクロを入力しなければプログレスバー(約10秒)は正常に動きます。そこで、マクロを入力しても正常に動くようにどなたかお教えください。よろしくお願いいたします。 ■ユーザーフォーム設定■ Private Sub CommandButton1_Click() Worksheets("sheet1").Activate CommandButton1.Enabled = False CommandButton2.Enabled = True MyFlag = False ProgressBar1.Visible = True ProgressBar1.BorderStyle = 1 - ccFixedSingle For i = 1 To 10000 ProgressBar1.Value = (i / 10000) * 100 'プログレスバーの値を設定 DoEvents _________ '←ここにマクロを入力します If MyFlag = True Then 'キャンセルボタン MsgBox "キャンセルをクリックしたので、処理を中止" Exit For End If Next i CommandButton1.Enabled = True CommandButton2.Enabled = False MyFlag = False Unload Me End Sub Private Sub CommandButton2_Click() MyFlag = True End Sub Private Sub UserForm_Initialize() CommandButton2.Enabled = False End Sub ■モジュール設定■ Sub 設定() Worksheets("設定").Activate MyFlag = True Do While MyFlag = True UserForm3.Show (vbModal) 'ユーザーフォームを表示 Loop End Sub
Visual Basic | プログラミング・482閲覧・100