Dim Startfrg As Boolean 'スイッチのような役割
Dim Stopfrg As Boolean 'スイッチのような役割
Private Sub CommandButton1_Click()
Call sample '↓のコードを呼び出す。
End Sub
Private Sub sample()
Dim rag
Dim i As Long
Dim cnt As Long
On Error GoTo Error1
Startfrg = True 'startスイッチ
Stopfrg = False 'stopスイッチ
If Startfrg = True Then 'startスイッチがオンの時に実行した場合
Stopfrg = True 'stopスイッチがオンになる
Exit Sub
End If
ProgressBar1.Max = Range(RefEdit1.Value).Count '指定した範囲のセルを取得しプログレスバーの最大値に設定
i = 0
For Each rag In Range(RefEdit1.Value)
If Stopfrg = True Then 'stopがかかったら繰り返しを抜ける。
Exit For
Else
DoEvents
i = i + 1 'カウント
cnt = cnt + Len(rag) '文字数のカウント
Label1.Caption = "対象セル" & i & "/" & Range(RefEdit1.Value).Count & "処理完了"
ProgressBar1.Value = i '処理完了数
End If
Next '範囲の数だけ繰り返す。
MsgBox "選択範囲の文字数は" & cnt & "文字です"
RefEdit1.Value = ""
Startfrg = False
Stopfrg = False
ProgressBar1.Value = 0
Exit Sub
Error1: 'エラーが起きた場合
MsgBox "エラー番号:" & Err.Number & vbLf & _
"エラー内容:" & Err.Description & vbLf
Startfrg = False
Stopfrg = False
RefEdit1.Value = ""
ProgressBar1.Value = 0
End Sub
コメントを残す