プロが教える店舗&オフィスのセキュリティ対策術

エクセルであるセルにデータ(数字や文字)を入力しないと、そのファイルが保存出来ない様な設定が出来るものでしょうか?
相手にデータの入力をお願いして、全ての項目を入力完了しないとそのファイルが保存出来ないという設定にしたいのですが、そういう設定方法があれば教えてください。

A 回答 (3件)

おはようございます。



> 全ての項目を入力完了しないとそのファイルが保存出来ないという設定

入力する項目(のセル)は決まってる、のかな?
決まってないのかな?

決まっている、と仮定して、と。
if関数を使うのはどうでしょうか?

例えば...
=IF((LEN(A1)>=1),"OK","NG")
=もし、A1セルに入っている左辺が右辺以上の場合は"OK"、より下の場合は"NG"

とか。
他はVBA。上記のif関数よりもう少し詳細を書くようなカンジになるかと。

それでは。

この回答への補足

早速のご回答ありがとうございます。
入力する項目は決まっております。
早速教えて頂いた内容で試してみました。
しかしながら、関数を入れたセルがブランクになって
いても”NG”のサインはでるのですがNGのままでデータが保存できてしまいます。
これを一切保存出来ない様には設定できないものなのでしょうか?
他のやり方としてVBAというものがあるみたいですが、初心者にも簡単にできる内容でしたらお教え願います。

補足日時:2005/06/08 12:50
    • good
    • 0

VBAでやるしかないようですね。



Alt+F11キーを押してください。
VisualBasicEditorが立ち上がります。
左のVBAProjectをクリック
ThisWorkbookをクリック
右の広い白いところに以下をコピー&ペースト

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Sheet1").Range("A1") = "" Or Sheets("Sheet1").Range("B1") = "" Then
MsgBox "AIセルに入力してください。"
Cancel = True
End If
End Sub

これでSheet1のA1とB1に入力がないと保存できなくなりました。
    • good
    • 0
この回答へのお礼

大変わかり易い説明で、助かりました。
ありがとうございます。

お礼日時:2005/06/08 15:31

もっと簡単な方法があるかもしれませんが、次のようにしておくと、入力すべき箇所を空白にしたままファイルを閉じようとすると、メッセージが表示され、しかも、その空欄の箇所がアクティブになりますから、入力者の方もわかりやすいかもしれませんね。

気が向いたら試してみてください。

<準備>
データ入力するのはSheet2(データ入力)という名前のシートで、セル番地は A1:B3,D2,C5 の3ブロックと仮定しておきます。どこでもいいのですが(ここでは仮にe1としておきます)次の式を記述しておいてください。
=COUNTA(A1:B3,D2,C5)

1、visual basic画面のVBAProjectで「ThisWorkbook」を右クリックしてコードを表示させて下さい。

2、上の方に細長い窓が2つあると思いますが、
左の方で「Wokbook」
右の方で「BeforeClose」を選択して下さい。

3、次のようになるように記述してみてください(コピペ可能)。
但し下のコードはデータ入力箇所が、「データ入力」という名前のシートの「A1:B3,d2,c5」の3ブロックにあると仮定してますから、その部分は書き換える必要があります。計算式が入っているセルもSheet2.Range("e1") というのは、あくまで仮定ですから変更してください。がんばってください。


Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheet2.Range("e1") <> 8 Then
With ActiveWorkbook.Worksheets("データ入力").Range("A1:B3,d2,c5")
Set c = .Find("", LookIn:=xlValues)
If Not c Is Nothing Then
' firstaddress = c.Address
c.Activate
MsgBox "この欄が未入力です"
End If
Cancel = True
End With
End If

End Sub
    • good
    • 0

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