
下記のようなマクロを自動記録で制作してみました。一応動くことは動きますが、マクロを実行中に途中で何かボタンをクリックしてマクロを停止させる方法を教えてください。
当方、マクロは全くわかりません、簡単な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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
エクセル グラフの軸の最小値最...
-
エラーになってないのにVBA...
-
Excel VBA のdebug(F8キー) が...
-
マクロボタンをある条件の時に...
-
EXCELのセルへ、デジタル時計を...
-
Wordの画面を左右にスクロール...
-
複数ファイルにある特定のシー...
-
開いているフォルダを全て閉じ...
-
EXCEL 複数のシートの同一の位...
-
TeraTermのマクロについて
-
【Excel VBA】エラー番号400
-
マクロボタンを作ってのマクロ...
-
Excel文字列中の太字(Bold)部分...
-
ネットラジオをタイマー予約で!
-
Excelを開いた時に表示さ...
-
エクセル 自動で別シートへ並...
-
エクセルのマクロ機能で前のシ...
-
エクセル テキスト追加マクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Wordの画面を左右にスクロール...
-
EXCEL 複数のシートの同一の位...
-
エクセルのマクロ機能で前のシ...
-
Excelを開いた時に表示さ...
-
エクセルで複数のシートをまと...
-
エクセルでマクロ実行中に任意...
-
ワードからエクセルへ貼り付け...
-
VBAでEXCELに埋め込んだPDFを開...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelマクロでオプションボタン...
-
マクロを実行した日付をセルに...
-
TeraTermのマクロについて
-
Accessのクエリを実行するショ...
おすすめ情報