• 締切済み

エクセルであるセルが未入力の場合他のシートに移れないようにする方法って

エクセルであるセルが未入力の場合他のシートに移れないようにする方法ってありますか? 社内で共有で使用しているのですが、日付を入力しないでプリントアウトしてしまう人がいるので、必ず日付を入力してプリントアウトするようにしたいのです。 一つのシートに情報を入力すれば他のシートに反映するようになっています。 (1)のシートに入力して(2)のシートをプリントアウトするような感じです。 説明が下手でわかりづらいと思いますが、どなたか回答お願い致します。

みんなの回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

ANo.3さんとほぼ同じなのですが Thisworkbook に、以下のコードをいれます。 日付が入力されていなければ、InputBoxを使って入力要求 するようにしてます。 入力されたものはA1に残ります。 Private Sub Workbook_BeforePrint(Cancel As Boolean) If Sheets("Sheet1").Range("A1") = "" Then x = InputBox("日付を入力して下さい。") Range("A1") = x End If End Sub

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

VBAを使用しますが、シートを移れないようにするのではなく、BeforePrintで印刷時に未入力をチェックしてはどうでしょう。 Thisworkbook に、以下のコードをいれます。 Private Sub Workbook_BeforePrint(Cancel As Boolean)   If Sheets("Sheet1").Range("A1") = "" Then     MsgBox ("未入力です")     Cancel = True   End If End Sub

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

日付と言うのが作業当日の日付のことであれば TODAY関数で自動的に入力されるようにすればいい 作業日当日以外の入力が前提であれば ・Sheetを開いた時点で日付入力を求める自動実行マクロ ・印刷操作をマクロ化しその中で日付入力賀されているかを確認する ような動作を組み込めばよいかと思う

回答No.1

VBAを使うことになると思います。 目的や状況が書かれているので別案です。 1、条件付き書式で記入されていない状態ではセルを赤くしておく 2、プリントアウトのシートで記入不足があるがある場合、条件付き書式で文字を白くしておく =COUNTA(入力セル1,入力セル2,入力セル3,・・・)

関連するQ&A