No.3ベストアンサー
- 回答日時:
No.2の方の答えが正しいです。
MsgBoxを表示させた後に、
Exit Subをつけないと、処理がそのまま続行されてしまうので、
エラーが発生してしまいます。
なので、データのチェックを行い、
エラーメッセージを表示した後に、
必ず、ExitSubをつけましょう。
No.2
- 回答日時:
これでどうなるかわかりませんが、
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
End If
などの入力チェックに
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
Exit Sub
End If
というようにExit subを入れないとプログラムは進んでいってしまうんじゃないですかね。
No.1
- 回答日時:
うーん。
。。難しい質問ですね。質問自体は、すごく単純な質問なのですが、
実際のプログラムを見てみないと、返答ができません。
例えばですが、
本来であれば処理を実行する前に、処理するデータが存在するかどうかをチェックして、
存在しないのであれば、処理をExitするだけだと思います。
プログラムを載せる事はできますか?
この回答への補足
kouta52さんへ
プログラムの内容は下記のとおりです。
宜しくお願いします。
**************************************************
'ラベル作成登録画面の左をクリック
Private Sub 左_Click()
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
End If
'病院名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbHPL]) Then
MsgBox "顧客名[左]を入力してください"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL1]) Then
MsgBox "曜日1を入力してください (予備の場合は空白を選択してください)"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL2]) Then
MsgBox "曜日2を入力してください (予備の場合は空白を選択してください)"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL3]) Then
MsgBox "曜日3を入力してください (予備の場合は空白を選択してください)"
End If
'ラベルレポートを開く
DoCmd.OpenForm "左"
With [Forms]![左]![txtDTL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtDTL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtDTL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtHPL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtHPL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtHPL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtYBL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL1]
End With
With [Forms]![左]![txtYBL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL2]
End With
With [Forms]![左]![txtYBL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL3]
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- その他(メールソフト・メールサービス) サンダーバードメール移動しない 1 2023/05/13 11:21
- Visual Basic(VBA) エクセル 2つの列にある値の完全一致を抜き出すVBA 15 2022/12/15 03:22
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- Visual Basic(VBA) Vba 互換モードでのAppActiveについて教えてください 2 2022/06/27 18:47
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
OLE又はDDEを使うVISUAL BESICモジュールを実行している時は…と表示されます
その他(Microsoft Office)
-
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
-
4
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
7
ACCESSでコントロールソースの変更
Access(アクセス)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
10
Accessでグローバル変数を宣言して定数を定義したい
その他(データベース)
-
11
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
14
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
15
Access_Formのデザインビュー画面を拡大表示
Access(アクセス)
-
16
VBAの実行時エラー'2522'について
Access(アクセス)
-
17
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
18
accessでイベントを中止するようなコマンドはあるのでしょうか?
その他(データベース)
-
19
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
20
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
Functionで戻り値を複数返す方法
-
マクロで、次のコードへ行く前...
-
シェルスクリプトでファイル内...
-
IF文に時間(何時から何時ま...
-
VB6にてネットワーク上にある共...
-
【Vb.net】プリンタジョブの取得
-
ProgressBarを用いる場合、全体...
-
起動しているIEをVBSで閉じると...
-
VBA 複数の行を高速で削除する...
-
VBAでBook読み込み時の非表示方...
-
iPhoneのニューラルエンジンっ...
-
フォルダのアクセス権確認について
-
winsockの非同期処理について
-
どう増強すべきか
-
“try/catch”と“if/else”
-
エクセルVBAでロックをかけたい
-
途中で処理を中断させたい (ア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
特定のファイルを他のプロセス...
-
ExcelのVBAで、選択したファイ...
-
Excel VBA セルの名前があるか...
-
どう増強すべきか
-
Word VBA。各マクロの間に待ち...
-
【VBA】エラー処理で別プロシー...
-
UWSCのTHREADについて
-
シェルスクリプトでファイル内...
-
ドリブン??
-
Functionで戻り値を複数返す方法
-
iPhoneのニューラルエンジンっ...
-
エクセル VBAで複数セル選択時...
-
COBOL OCCURSで指定したデータ...
-
どうやってもFor文を抜けてしま...
おすすめ情報