[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Textboxにデータが無いとき警告』(yama)
よろしくお願いします。
ユーザーフォームのTextbox1にデータが無いとき警告を発しマクロを中止するには
どのように修正すれば可能でしょうか?
Private Sub appendDateToSheet()
With Worksheets("表紙")
.Range("CT1").Value = Format(TextBox1.Text, "yyyy/m/d")
.Range("CT2").Value = Format(TextBox4.Text, "yyyy/m/d")
.Range("CT3").Value = Format(TextBox6.Text, "yyyy/m/d")
.Range("CT4").Value = Format(TextBox8.Text, "yyyy/m/d")
.Range("CU1").Value = TextBox2.Value
.Range("CU2").Value = TextBox3.Value
.Range("CU3").Value = TextBox5.Value
.Range("CU4").Value = TextBox7.Value
End With
End Sub
Private Sub CommandButton1_Click()
If MsgBox("データをシートに記録します。よろしいですか?", vbYesNo) = vbNo Then Exit Sub appendDateToSheet MsgBox "記録完了。", vbInformation Unload Me End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
If 条件 = True Then Aを実行
条件を満たしたらA、満たさなかったらB
If 条件 = True Then Aを実行 Else Bを実行 End If
条件Aを満たしたらA、Bを満たしたらB、それ以外はC
If 条件A = True Then Aを実行 ElseIf 条件b = True Then Bを実行 Else Cを実行 End If
TextBoxの値の取得は
TextBox1.Value
のように取得できます。
(カリーニン) 2017/05/24(水) 18:53
マクロを中止するには
これは
Exit Sub
でプロシージャから抜けます。
If 条件 = True Then
Aを実行 Else Exit Sub End If
あるいは
If 条件 = False Then Exit Sub (カリーニン) 2017/05/24(水) 18:56
>If 条件 = False Then Exit Sub この条件部分の書き方がよく分からないのですが よろしくお願いします。 (yama) 2017/05/24(水) 19:00
今回の場合は
If Me.TextBox1.Value = "" Then Exit Sub
という感じになります。 (カリーニン) 2017/05/24(水) 19:02
If MsgBox("データをシートに記録します。よろしいですか?", vbYesNo) = vbNo Then Exit Sub If Me.TextBox1.Value = "" Then Exit Sub MsgBox "データが有りません" appendDateToSheet MsgBox "記録完了。", vbInformation Unload Me (yama) 2017/05/24(水) 19:07
> If Me.TextBox1.Value = "" Then Exit Sub
Exit Sub でプロシージャを抜けますので、 条件を満たしたらそれ以降の処理は行われません。
VBA If文 でネット検索したら参考HPが見つかると思います。
以下は参考です。
標準モジュール等のユーザーフォーム以外から実行する場合は
Me.TextBox1 を UserForm1.TextBox1 または UserForm1.Controls("TextBox" & 1) とします。
シートに配置したActiveXコントロールの場合は ↓のようにします。
If Worksheets(1).OLEObjects("TextBox" & 1).Object.Value = "" Then MsgBox "aa" Exit Sub Else MsgBox "BB" End If
※これから30分〜1時間ほどネットを見られません。 (カリーニン) 2017/05/24(水) 19:13
If MsgBox("データをシートに記録します。よろしいですか?", vbYesNo) = vbNo Then Exit Sub If Me.TextBox1.Value = "" Then MsgBox "データが有りません", vbInformation Else appendDateToSheet MsgBox "記録完了。", vbInformation Unload Me End If
(yama) 2017/05/24(水) 19:27
一部順番を入れ替えた方がいいかもしれないですね。
Private Sub CommandButton1_Click() If Me.TextBox1.Value = "" Then MsgBox "データが有りません", vbInformation Else If MsgBox("データをシートに記録します。よろしいですか?", vbYesNo) = vbNo Then Exit Sub appendDateToSheet MsgBox "記録完了。", vbInformation Unload Me End If End Sub
参考過去ログもリンクして置きます。
[[20170221201539]] 『未入力を除外するには(TextBox)』(さとし)
(カリーニン) 2017/05/24(水) 20:23
(yama) 2017/05/25(木) 00:31
>MsgBox "記録完了。", vbInformation
これは、PopUpでもいいですね。
参考HPです。 http://officetanaka.net/excel/vba/tips/tips21.htm (カリーニン) 2017/05/25(木) 09:07
(yama) 2017/05/25(木) 18:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.