- ベストアンサー
VBA 空白をエラー表示させる!
ボタンをクリックすると、入力ミスがないように MsgBoxで表示させるものを作りましたが TextBox3を都合のため切り取りました! そしたら、エラー表示され If Controls("TextBox" & i).Text = "" Then ↑黄色く表示されます! どのように下の記述を変えれば良いか教えてください! Private Sub CommandButton5_Click() Dim i As Integer For i = 1 To 9 If Controls("TextBox" & i).Text = "" Then MsgBox "判定入力していない項目がありますよ!", vbInformation, "空欄を見て!" Exit Sub End If Next If MsgBox("記録するよ?", vbOKCancel) = vbOK Then With Worksheets("グラフ") 'アセスメント身体 .Range("U2").Value = TextBox1.Value .Range("U3").Value = TextBox2.Value .Range("U4").Value = TextBox3.Value .Range("U5").Value = TextBox4.Value .Range("U6").Value = TextBox5.Value .Range("U7").Value = TextBox6.Value .Range("U8").Value = TextBox7.Value .Range("U9").Value = TextBox8.Value .Range("U10").Value = TextBox9.Value
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>TextBox3を都合のため切り取りました! 当然Controls("TextBox" & 3) が無いのですからエラーになります 方法1. 3を飛ばしてやる For i = 1 To 9 if i <> 3 then If Controls("TextBox" & i).Text = "" Then MsgBox "判定入力していない項目がありますよ!", 方法2. For EachでTextBoxを総当りする Private Sub CommandButton5_Click() Dim myTB As Control For Each myTB In Me.Controls If TypeName(myTB) = "TextBox" Then If myTB.Text = "" Then MsgBox "判定入力していない項目がありますよ!", vbInformation, "空欄を見て!" Exit Sub End If End If Next
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
If i <> 3 Then If Controls("TextBox" & i).Text = "" Then MsgBox "判定入力していない項目がありますよ!", vbInformation, "空欄を見て!" Exit Sub End If End If とか?
お礼
ありがとうございました!! 解決できました!
お礼
早速のお返事ありがとうございます! 助かりました!! 悩みが解決できました。