為什麼這篇vba msgbox換行鄉民發文收入到精華區:因為在vba msgbox換行這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者waiter337 (給開司一罐蘇格登)看板Office標題[問題] vba發現表單有空白,跳出...
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:
版本:
目前textbox1 是vba表單中的一個姓名輸入位置
當我發現他沒輸入東西,或者為數字跟標點符號時
原設定為"新增資料"的按扭
按下之後會發現錯誤,跳出msbox,並停止vba的運作
(甚至是當輸入完成換行時,輸入不符規格,就會自動跳出警告視窗)
目前卡住不會寫
If TextBox1.Value = False Then
end if
目前google"停止 vba 巨集"大神
大部份都是停止excel顯示錯誤警告視窗的巨集
求高手支援
另外問一下
我總共有
TextBox1.Value = False
TextBox2.Value = False
TextBox3.Value = False
TextBox4.Value = False
TextBox5.Value = False
TextBox6.Value = False
TextBox7.Value = False
TextBox8.Value = False
TextBox9.Value = False
TextBox10.Value = False
TextBox11.Value = False
TextBox12.Value = False
TextBox13.Value = False
TextBox14.Value = False
這些需要判斷
是需要每個各做一次,還是有一次找尋的方法
但我猜可能還是得一個一個做
因為警告視窗得顯示未輸入的空白格子
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.158.244
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1474540826.A.591.html
※ 編輯: waiter337 (114.35.158.244), 09/22/2016 18:43:15
※ 編輯: waiter337 (114.35.158.244), 09/22/2016 18:46:41
※ 編輯: waiter337 (114.35.158.244), 09/22/2016 18:47:24
假設14個都空白沒填
他的msgbox就會跳14次= =
該怎麼做讓他只跳最前面那次警告
後面沒填的警告先不跳
而且我還可以順便exit sub
避免錯誤的資料進入database
※ 編輯: waiter337 (114.35.158.244), 09/22/2016 22:15:38
裡面的msgbox每項皆不同
該如何撰寫
for ii = 1 to 14
if textbox & ii & .text = "" then msgbox
exit sub
next
--------------------------------------
If TextBox1.Text = "" Then MsgBox ("舊車主空白")
If TextBox2.Text = "" Then MsgBox ("舊車牌空白")
If TextBox3.Text = "" Then MsgBox ("引擎號碼空白")
If TextBox4.Text = "" Then MsgBox ("電話空白")
If TextBox5.Text = "" Then MsgBox ("手機空白")
If TextBox6.Text = "" Then MsgBox ("身份證字號空白")
If TextBox7.Text = "" Then MsgBox ("出生年月日空白")
If TextBox8.Text = "" Then MsgBox ("新車主空白")
If TextBox9.Text = "" Then MsgBox ("新車牌空白")
If TextBox10.Text = "" Then MsgBox ("引擎號碼空白")
If TextBox11.Text = "" Then MsgBox ("身份證字號空白")
If TextBox12.Text = "" Then MsgBox ("出生年月日空白")
If TextBox13.Text = "" Then MsgBox ("機種空白")
※ 編輯: waiter337 (114.35.158.244), 09/23/2016 15:17:33
lable1 是表單格子前面的名稱
Private Sub CommandButton1_Click()
For ii = 1 To 14
x = Controls("Label" & ii)
If Controls("textbox" & ii) = "" Then
MsgBox " 注意 " & x & " 空白.": Exit Sub
End If
Next
End Sub
vba跑的了
※ 編輯: waiter337 (114.35.158.244), 09/23/2016 18:12:29
For jj = 1 To 14
y = Controls("frame" & jj).Caption
If Controls("OptionButton" & jj).Value = True Then
MsgBox " 注意 " & y & " 空白.": Exit Sub
End If
Next
End Sub
由於框架frame1 與 按扭選項OptionButton1 是沒有遞增邏輯的
我想抓取frame1的名稱 "處理種類"
(或許之後我在設個列表,甚至是其他排序)
其下有3個按扭選項
利用
OptionButton1
OptionButton2
OptionButton3
來判斷是否有點選這樣
是否三個內有點選任1,或許本身frame1,有true跟false能夠判斷
是否有選擇其一了,不過也只能選一個
※ 編輯: waiter337 (114.35.158.244), 09/23/2016 20:17:54
或者大大們有沒有什麼類似的範本
像是vba的資料輸入表,各行各業的都可以
借我參考 我自己研究看看
我先google一下
※ 編輯: waiter337 (114.35.158.244), 09/23/2016 20:24:16