• ベストアンサー

エクセル☆セルに入力必須の制限は可能ですか??

エクセル☆セルに入力必須の制限は可能ですか?? エクセルで「取引先登録依頼書」を作成しています。 必須項目となっているセルは必ず入力されるように したいのですが、 ”未入力を認めない”ような設定は 可能でしょうか? 以上、宜しくお願いいたします!

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

#2のmerlionXXです。 > マクロ無効で開くと、保存できてしまうんですねー(>_<) > 残念。。。 はい、マクロを無効にされればどんな仕掛けをしようが無意味です。 ただし、逆転の発想で、マクロを有効にしないと役に立たないファイルにしてしまえば否応なしにマクロを有効にせざるをえませんね。 例えば、、ワークシート上に、シートの文字がほとんど隠れるくらいの大きなテキストボック(「マクロを有効にして開いて下さい!!」と記入しておく。)を貼っておいて、入力欄のセルだけはロックを解除してシート保護をかけます。 マクロを有効にして開いたときだけ、テキストボックをマクロで非表示にするという手もありますね。 マクロは、テキストボックスの名前が「テキスト 1」だとすれば、 'ファイルを開いたときの非表示用 Private Sub Workbook_Open() Sheets("Sheet1").TextBoxes("テキスト 1").Visible = False End Sub 'ファイル保存時の最表示用 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets("Sheet1").TextBoxes("テキスト 1").Visible = True End Sub の二つを、先ほどのマクロと同じ場所にコピペしてください。

その他の回答 (3)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.3

VBAを使わない一つの例ですが、IF関数やCOUNTBLANK関数などで空白の検知は可能です。 この関数のAND条件などで、一カ所でも空白があると印刷範囲内のどこかに、「この書類は無効です」などの文字を大きく表示させます。 たとえば、セルA2が入力必須ならば、セルA1などに =IF(A2="","未入力項目があるのでこの書類は無効です","") と入力しておき、文字のサイズを20くらいにして、さらに赤色としておくと、良いかも知れません。さらに、シート保護をかけておけば、式の改変も防止できます。 要は、印刷や書類化は制限せずに、無効の表記を付けるという方法です。

yuika1103
質問者

お礼

なるほど!なるほど~(゜△゜;)! 関数だけでもできるものですね!!! もっと頭使います(^◇^;) どうもありがとうございましたp(^o^)q

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

VBA(マクロ)でないと無理かな。 もっとも最初からマクロを無効にして開かれたらアウトですが・・・・。 仮に必須の入力項目がSheets("Sheet1").のA1セルだった場合、以下の手順でやってみてください。 A1に入力がないと終了できなくなります。 1.メニューの「ツール」から「マクロ」そして「Visual Basic Editor」をクリックするか、あるいはALTキー+F11キーでVisual Basic Editor画面にかわります。 2.左側のプロジェクトからVBAProjectのMicrosoftExcelObjectの「ThisWorkBook」をダブルクリックする。 3.右側に現れた白い大きな部分に、以下をコピペします。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Sheets("Sheet1").Range("A1") = "" Then Cancel = True MsgBox "必須項目の入力がありませぬぅ~!", vbCritical, "Σ( ̄ロ ̄lll)" End If End Sub ALT+F11キーでワークシートに戻ります。

yuika1103
質問者

お礼

回答ありがとうございます! 早速、教えていただいた通りにしてみたところ、 できました!!! マクロ無効で開くと、保存できてしまうんですねー(>_<) 残念。。。 でも勉強になりました♪ どうもありがとうございましたv(*^_^*)v

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

関数を使えば未入力があれば何らかの表示をさせる事は出来ますが、そのままでもどのような操作もできて仕舞います。 >”未入力を認めない”ような設定は 設定では不可能ですが、VBAを組む事で適切なチェックが行えます。 印刷・保存などの際にも未入力のチェックが可能ですし、必要であれば入力中のチェックも可能です。

yuika1103
質問者

お礼

なるほど!! VBAですね! ちょっと勉強してみます。 どうもありがとうございます。

関連するQ&A