• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル IF について!)

エクセルIFについて!

このQ&Aのポイント
  • エクセルIF関数を使用したマクロ記述方法についての質問です。
  • TextBoxに入力した数字がない場合にメッセージを表示したいです。
  • 以前の記録を呼び戻す際に数字が違っていた場合にメッセージを表示したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

全体を確認したわけではないですが If Me.Controls("TextBox1" & Cnt).Value = "" Then の変数 Cntは何が入っているのでしょうか? もしTextBox1のみが対象であれば If Me.Controls("TextBox1").Value = "" Then でTextBox1が空白かどうか確認できます。 もしフォーム上の複数のTextBoxがあって、全てのTextBoxについて調べたいのであれば For Cnt = 1 To 2'の2はTextBoxの数をいれます。 If Me.Controls("TextBox" & Cnt).Value = "" Then MsgBox Me.Controls("TextBox" & Cnt).Name & "に呼出したい数字を入力して下さい" Exit Sub End If Next と記述します。 Dim Cnt As Control For Each Cnt In Me.Controls If TypeName(Cnt) = "TextBox" Then If Cnt = "" Then MsgBox Cnt.Name & "に呼出したい数字を入力して下さい" End If End If Next とかすれば フォーム上のTextBoxやボタンの数が増えたりしても大丈夫な書き方もあります。

pop2003
質問者

補足

早速の回答ありがとうございます! すいませんでした!TextBox1のみが対象でした! 早速してみましたが If SH1.Cells(lngNumber, 3) = "男" Thenがエラー表示されます! 実行時エラー1004になります。アプリケーション・オブジェクト定義のエラーになってしまいます。Ifのエラーの修正の仕方が分かりません! どこがわるいのでしょうか?

関連するQ&A