
下記のようなマクロを自動記録で制作してみました。一応動くことは動きますが、マクロを実行中に途中で何かボタンをクリックしてマクロを停止させる方法を教えてください。
当方、マクロは全くわかりません、簡単なfor・・・・next 文くらいなら解読できますが・・・全くの素人ですので、そのことを入れてご教授、解説よろしくお願いします。
Sub 位相操作2()
'
' 位相操作2 Macro
' マクロ記録日 : 2012/7/7 ユーザー名 *m**s**
X = Range("M2")
Y = Range("N2")
For n = X To Y Step Range("u7")
Range("J4").Select
ActiveCell.FormulaR1C1 = n
Next n
End Sub
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
止めたいときは『ESCキーを押す』です。
ただし、すぐには止まりませんし、止めたところから再開はできません。
作動確認をしたいということでしたら、VBA編集画面のメニューから『デバッグ』⇒『ステップイン』(F8キーで代用可)で1行ずつ実行させることができます。
No.3
- 回答日時:
ちょっとおまけで、マウスをクリックして止める方法
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Sub ボタン1_Click()
X = Range("M2")
Y = Range("N2")
For n = X To Y Step Range("U7")
If GetAsyncKeyState(2) = 0 Then
Range("J4").Select
ActiveCell.FormulaR1C1 = n
Else
Exit For
End If
Next n
End Sub
If GetAsyncKeyState(1) = 0 Then
で、普通のクリック
If GetAsyncKeyState(2) = 0 Then
で、右クリックです。
その他のキー操作にも対応します。
http://www.happy2-island.com/excelsmile/smile04/ …
No.2
- 回答日時:
こんばんは。
ボタンを押して、止めるというのは、VBAのコードでも、めったにしないと思いましたので、手直ししたコードで試してみました。そうすると、フラグのTrue が変えられないので、そのままではマクロは止めた時点でおしまいです。マクロ実行中は、同じエクセルのVBAでは、flg は、False に戻りません。
Dim flg as Boolean
Sub 位相操作2()
'
' 位相操作2 Macro
' マクロ記録日 : 2012/7/7 ユーザー名 *m**s**
X = Range("M2").Value
Y = Range("N2").Value
Z = Range("U7").Value
For n = X To Y Step Z
Range("J4").Value = n
DoEvents
If flg Then Stop '<-このままでは、ループからは抜けない。 :Exit Sub が必要。
Next n
End Sub
Sub ボタン1_Click() 'フォームのボタン
flg = Not flg
End Sub
まお、デバックなら、F8 を押して、ステップマクロを使えばよいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 2 2022/03/28 17:38
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
エラーになってないのにVBA...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
マクロ 実行ボタンを押さずに...
-
Wordのアンケート用紙に通し番...
-
EXCELのセルへ、デジタル時計を...
-
PowerPointのマクロでは、スラ...
-
エクセルのマクロショートカッ...
-
VBAでEXCELに埋め込んだPDFを開...
-
エクセルに画像を貼付け縮小す...
-
エクセルでマクロ実行中に任意...
-
エクセルマクロで音声認識のプ...
-
Excel 2003でのセル内容の瞬時...
-
Excelマクロでオプションボタン...
-
特定のフィールドコードのみ変換
-
UWSCの簡単なキーマクロなので...
-
Excelマクロからのデータアクセ...
-
【エクセル】 キーを押すと、...
-
エクセルのマクロ実行中に停止...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
エクセルのマクロ機能で前のシ...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
Wordの画面を左右にスクロール...
-
ワードからエクセルへ貼り付け...
-
モジュール内のマクロを全て実...
-
エクセルで複数のシートをまと...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelマクロでオプションボタン...
-
【Excel VBA】エラー番号400
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロボタンをある条件の時に...
-
Accessのクエリを実行するショ...
-
Excelの改ページ 同シート内で...
おすすめ情報