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
の二つを、先ほどのマクロと同じ場所にコピペしてください。
No.3
- 回答日時:
VBAを使わない一つの例ですが、IF関数やCOUNTBLANK関数などで空白の検知は可能です。
この関数のAND条件などで、一カ所でも空白があると印刷範囲内のどこかに、「この書類は無効です」などの文字を大きく表示させます。
たとえば、セルA2が入力必須ならば、セルA1などに
=IF(A2="","未入力項目があるのでこの書類は無効です","")
と入力しておき、文字のサイズを20くらいにして、さらに赤色としておくと、良いかも知れません。さらに、シート保護をかけておけば、式の改変も防止できます。
要は、印刷や書類化は制限せずに、無効の表記を付けるという方法です。
なるほど!なるほど~(゜△゜;)!
関数だけでもできるものですね!!!
もっと頭使います(^◇^;)
どうもありがとうございましたp(^o^)q
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キーでワークシートに戻ります。
回答ありがとうございます!
早速、教えていただいた通りにしてみたところ、
できました!!!
マクロ無効で開くと、保存できてしまうんですねー(>_<)
残念。。。
でも勉強になりました♪
どうもありがとうございましたv(*^_^*)v
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルで計算結果が0でないときのみセルを更新したい 4 2022/07/30 11:58
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) エクセル データの入力規制について 3 2022/03/30 17:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数を使った日時の自動入力
-
tera term マクロのinputbox
-
エクセルにペーストしたときの...
-
エクセルで勤怠管理表のようなもの
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
LINEのこの空白ってどんな意味...
-
エクセルでハイパーリンクのコピー
-
EXCELで縦の行全てに一括して文...
-
Wordの差し込み印刷で空白行が...
-
エクセルでページごとにヘッダ...
-
エクセルで囲み線で出来ますか?
-
EXCEL 連動したドロップダウン...
-
エクセル 印刷範囲外を非表示...
-
エクセルで休日の「休」という...
-
名簿の漢字名を関数で半角カナ...
-
エクセルでleft関数の結果が表...
-
エクセルでオートサムを使った...
-
エクセル 数式の無効化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数を使った日時の自動入力
-
tera term マクロのinputbox
-
エクセルにペーストしたときの...
-
漢字→ひらがな 一括変換
-
エクセルでの現在時刻入力
-
エクセル☆セルに入力必須の制限...
-
キーボード、マウス操作を自動...
-
エクセル_日付けの自動入力
-
単純な掛け算なのにわけのわか...
-
エクセルのコピー貼り付けマクロ
-
エクセルで保護を自動に行う設定
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
エクセルの計算式でコンマを付...
-
LINEのこの空白ってどんな意味...
-
エクセルでleft関数の結果が表...
-
名簿の漢字名を関数で半角カナ...
-
エクセルでオートサムを使った...
-
Wordの差し込み印刷で空白行が...
おすすめ情報