
No.4ベストアンサー
- 回答日時:
#1-3、cjです。
#3お礼欄へのレスです。> デバッグモードに入らないから、
> Trueに戻らない危険が有るのですね。
はい、その通りです。
滅多に無い、ことかも知れませんが、反響は大きそうです。
もう少し扱い易い方法はないか?ということで思いつきましたが、
UserformをApplication.Windowの外、見えない場所に
.Show vbModal表示して、処理後にHide
なんて変化球も、アリかも知れませんね。
No.3
- 回答日時:
#1、2、cjです。
#2お礼欄へのレスです。計算処理そのものについて、実行時エラーが起こることはない、と、
断言できる内容なら、何も考えなくていいです。
今は何も問題なかったとしても、後々追加される記述の方で、
エラーの可能性を看過してしまったり、というのは、
よくあることなので、心掛け程度には理解しておいた方がいいです。
> デバッグモードに入るのは自分だけなので、
...
> 計算処理中のエラーには、しっかりトラップを掛けた方がいいです。
> とはどういう意味でしょうか?
エンドユーザーによる実行に際して、もし実行時エラーとなり、
実行時エラーを報せるダイアログが表示されてしまうと、
VBAを知らない大抵のユーザーは、[終了]を押してしまいますよね?
そうすると、
> > エラーダイアログからデバッグせずに終了すると、
> > (再起動するまで)シート上で編集が出来なくなる、
ということになり、そのユーザーは、
驚きと困惑で手が止まってしまうことでしょう。
ヘルプに書いてあるところの
> > ただし、このプロパティに False を設定したときは、マクロの終了前に必ず設定を True に戻してください。
を実践する為に、
エラーが起きた場合、どのように処理を抜ける(または復旧/継続する)か決めておいて、
必ず、
Application.Interactive = True
を実行するようにOn Error ステートメントでエラートラップを掛けておく等の対策が必要、
ということです。#んー、なんか説明下手ですみません。
例えば、エラーが出たら、処理は中途のまま、ただSubを抜けるのなら、こんな感じ。
Sub HogeHoge()
Application.Interactive = False
On Error GoTo ErrOut_
' ' (この行以降でエラーが起きれば即、ErrOut_行へジャンプ)
' ' 計算処理
' ' 計算処理
' ' 計算処理
ErrOut_:
Application.Interactive = True
If Err Then MsgBox "処理HogeHogeはエラーにより不正終了しました。" _
& "表示中のダイアログのコピーを取った上で" _
& "担当○○まで連絡してください。" _
& vbLf & Err & vbLf & Err.Description
End Sub
No.2
- 回答日時:
#1.cjです。
#1訂正と補足です。Application.Interactive = False
' ' 計算処理
Application.Interactive = True
ドットがダブっていました。失礼。
それと、計算処理中のエラーには、しっかりトラップを掛けた方がいいです。
または、エラーダイアログからデバッグせずに終了すると、
(再起動するまで)シート上で編集が出来なくなる、
ということを強く意識しておいた方がいいです。
訂正、補足、以上です。
ありがとうございます。
デバッグモードに入るのは自分だけなので、
Trueに戻すことを覚えておきます。
計算処理中のエラーには、しっかりトラップを掛けた方がいいです。
とはどういう意味でしょうか?
トラップが良く分かりません。
No.1
- 回答日時:
こんにちは。
ユーザー操作による手作業での編集を無効にする
Application..Interactive = False
' ' 計算処理
Application..Interactive = True
一応、ヘルプの内容を確認しておいてください。
以下VBAヘルプより抜粋
====================================
Application.Interactive プロパティ
True の場合、Excel が対話モードになります。既定値は True です。このプロパティが False に設定されると、キーボードやマウスからの入力を受け付けなくなります。ただし、表示されたダイアログ ボックスへの入力は可能です。値の取得および設定が可能です。ブール型 (Boolean) の値を使用します。
構文
式.Interactive
式 Application オブジェクトを表す変数。
備考
入力できない状態にしておくと、マクロで Excel のオブジェクトを移動したりアクティブにしているときに、ユーザーからの干渉を防ぐことができます。
DDE、または OLE オートメーションを使ってほかのアプリケーションと Excel とでデータをやり取りするときには、このプロパティに False を設定しておくと便利です。
ただし、このプロパティに False を設定したときは、マクロの終了前に必ず設定を True に戻してください。True に戻すのを忘れると、マクロが終了しても Excel に入力することができません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ネットワーク上のエクセルとリンクしている時にデータ更新をvbaで、refresh Allで行う場合の 2 2023/04/10 05:39
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Excel(エクセル) エクセルで計算結果が0でないときのみセルを更新したい 4 2022/07/30 11:58
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Excel(エクセル) ExcelのVBAで再帰処理を使って、1〜10までの整数の和と10の階乗の計算をしたいです。どなたか 1 2022/11/24 10:59
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Access の VBA 実行中に他の操作をさせたくない
Visual Basic(VBA)
-
Excelでマクロ実行中に画面を固定する方法
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
【VB2008】 マウス操作の一時的無効化
Visual Basic(VBA)
-
5
VBAでマクロ実行中はExcelのマウスやキーボードを使ってセル選択などを無効にしたい
Visual Basic(VBA)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
エクセルVBAで共有ファイル読込時の競合を感知できますか?
Excel(エクセル)
-
8
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
9
【Excel】2つの値のどちらかを抽出する
Excel(エクセル)
-
10
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
11
vbaで参照設定
PowerPoint(パワーポイント)
-
12
Workbook_Openを起動時以外に呼び出す
Excel(エクセル)
-
13
VBAでオブジェクトがありません、となってしまう
Visual Basic(VBA)
-
14
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
15
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
16
マクロを実行中に、msgbox を表示させたまま、ワークシートを上下左右に移動表示させたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
シグナル 6(SIGABRT)とは?
-
どう増強すべきか
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
ExcelのVBAで、選択したファイ...
-
特定の名前のオートシェイプの...
-
IF文に時間(何時から何時ま...
-
VBA 複数の行を高速で削除する...
-
エクセル VBAで複数セル選択時...
-
Excel VBA セルの名前があるか...
-
C言語のGOTO文(組み込み系)
-
Functionで戻り値を複数返す方法
-
どうやってもFor文を抜けてしま...
-
StatusStripの表示が更新されな...
-
COBOL OCCURSで指定したデータ...
-
Excelプロセスが消えない
-
シェルスクリプトでファイル内...
-
エクセルVBAでBeep音は?
-
VBAでBook読み込み時の非表示方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
シグナル 6(SIGABRT)とは?
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
IF文に時間(何時から何時ま...
-
vbaのエラー対応(実行時エラー...
-
マクロで、次のコードへ行く前...
-
Excel VBA セルの名前があるか...
-
Word VBA。各マクロの間に待ち...
-
特定のファイルを他のプロセス...
-
どうやってもFor文を抜けてしま...
-
Functionで戻り値を複数返す方法
-
シェルスクリプトでファイル内...
-
【VBA】エラー処理で別プロシー...
-
ExcelのVBAで、選択したファイ...
-
【C#】Page_Loadさせない方法に...
-
エクセル VBAで複数セル選択時...
-
StatusStripの表示が更新されな...
-
VBAでBook読み込み時の非表示方...
おすすめ情報