dポイントプレゼントキャンペーン実施中!

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

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

以上、宜しくお願いいたします!

A 回答 (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

の二つを、先ほどのマクロと同じ場所にコピペしてください。
    • good
    • 0

VBAを使わない一つの例ですが、IF関数やCOUNTBLANK関数などで空白の検知は可能です。


この関数のAND条件などで、一カ所でも空白があると印刷範囲内のどこかに、「この書類は無効です」などの文字を大きく表示させます。

たとえば、セルA2が入力必須ならば、セルA1などに
=IF(A2="","未入力項目があるのでこの書類は無効です","")
と入力しておき、文字のサイズを20くらいにして、さらに赤色としておくと、良いかも知れません。さらに、シート保護をかけておけば、式の改変も防止できます。

要は、印刷や書類化は制限せずに、無効の表記を付けるという方法です。
    • good
    • 0
この回答へのお礼

なるほど!なるほど~(゜△゜;)!

関数だけでもできるものですね!!!
もっと頭使います(^◇^;)

どうもありがとうございましたp(^o^)q

お礼日時:2007/04/09 13:05

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キーでワークシートに戻ります。
    • good
    • 1
この回答へのお礼

回答ありがとうございます!

早速、教えていただいた通りにしてみたところ、
できました!!!

マクロ無効で開くと、保存できてしまうんですねー(>_<)
残念。。。

でも勉強になりました♪
どうもありがとうございましたv(*^_^*)v

お礼日時:2007/04/09 11:42

関数を使えば未入力があれば何らかの表示をさせる事は出来ますが、そのままでもどのような操作もできて仕舞います。



>”未入力を認めない”ような設定は

設定では不可能ですが、VBAを組む事で適切なチェックが行えます。
印刷・保存などの際にも未入力のチェックが可能ですし、必要であれば入力中のチェックも可能です。
    • good
    • 0
この回答へのお礼

なるほど!!
VBAですね!
ちょっと勉強してみます。

どうもありがとうございます。

お礼日時:2007/04/09 11:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!