Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


46395 / 76735 ←次へ | 前へ→

【35312】Re:サブルーチンについて
発言  かみちゃん  - 06/2/26(日) 12:03 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>エクセルで使うので止めたい時に体裁の良い方法があったらお教えください。た
>とえばボタンを押したら止まるような。

シート上にコントロールツールボックスのコマンドボタンを2つ配置します。
そのシートの、シートモジュールに以下のコードを記述してください。
'開始ボタン
Private Sub CommandButton1_Click()
 Macro1
End Sub

'停止ボタン
Private Sub CommandButton2_Click()
 blnStop = True
 MsgBox "処理を停止します"
End Sub

以下は、標準モジュールに記述してください。

Public blnStop As Boolean

Sub Macro1()
 Dim i As Integer
 
 blnStop = False
 Do While Not blnStop '停止ボタンがクリックされるまで繰り返す
  For i = 1 To 5
   Application.Wait (Now + TimeValue("0:00:02"))
   Select Case i
    Case 1
     Call A
    Case 2
     Call B
    Case 3
     Call C
    Case 4
     Call D
    Case 5
     Call E
   End Select
   DoEvents
  Next
 Loop
 MsgBox "終了しました"
End Sub

Sub A()
 Range("A1").Value = Range("A1").Value + 1
' MsgBox "Aを実行します"
End Sub
Sub B()
 Range("A1").Value = Range("A1").Value + 1
' MsgBox "Bを実行します"
End Sub
Sub C()
 Range("A1").Value = Range("A1").Value + 1
' MsgBox "Cを実行します"
End Sub
Sub D()
 Range("A1").Value = Range("A1").Value + 1
' MsgBox "Dを実行します"
End Sub
Sub E()
 Range("A1").Value = Range("A1").Value + 1
' MsgBox "Eを実行します"
End Sub

上記コードは、アクティブシートのA1セルに1ずつ加算していきます。

0 hits

【35289】サブルーチンについて yukio 06/2/25(土) 21:29 質問
【35290】Re:サブルーチンについて かみちゃん 06/2/25(土) 21:43 発言
【35291】Re:サブルーチンについて yukio 06/2/25(土) 22:06 お礼
【35312】Re:サブルーチンについて かみちゃん 06/2/26(日) 12:03 発言
【35345】Re:サブルーチンについて yukio 06/3/1(水) 8:41 お礼
【35309】Re:サブルーチンについて yukio 06/2/26(日) 7:13 お礼

46395 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free