• ベストアンサー

日曜日は入力させたくない

現在、食事管理票を作成しており、日付によって塗りつぶしを行う条件付き書式と データの入力規則を使って、○、✕、-のリストを作成し洗濯入力させている これらはいかしたまま 追加で、該当入力箇所が日曜日であれば、入力をできなくする または、-しか入力できないようにしたいのですが データの入力規則でリストを使っているため、ユーザー設定が使えず 「両立」は無理なのかと諦めかけております 打開策があれば、お教えいただきたいです

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.3

[No.2]の補足、 》 該当入力箇所が日曜日であれば、入力をできなくする セル A5 に式 =DATE(A$1,B$1,1) を入力した後で、 式 =WORKDAY.INTL(A5,1,"0000011") を入力したセル A6 を下方にズズーッとオートフィル ただし、セル A5 以下の書式は、 d(ddd) としておく。

hooue100
質問者

お礼

言われる通りにやってみたのですが 以下のリンクのように、土曜日曜の網掛けがなくなってしまい 土曜と日曜がスキップされてしまいました もしかして 入力させない=入力の項目も出さない という意味でお教えいただきましたでしょうか? ちがうんです 毎日日付は出しますが、日曜日の◯や✕を入力できないようにする またはハイフン固定にしたかったのです https://drive.google.com/file/d/16AbR_uqOsCsW2m0I1qbqrDjXNy8U876q/view?usp=sharing

hooue100
質問者

補足

"0000001" ですね? これで日曜日をスキップできる? 入力せないとかとなれば、思いっきりコーディングしないと無理っぽいです

その他の回答 (4)

回答No.5

リストが、表示されなくてもいいのなら 入力規則で  入力値の種類:ユーザー設定 数式:=AND(WEEKDAY($A5,2) <> 7, OR(B5 = "ー", B5 = "◯", B5 = "×")) エラーメッセージタブで スタイル:停止  タイトル:日曜日は入力できません。 マクロを使うのなら、 入力規則は、 入力値の種類:リスト 元の値:ー, ◯, × Private Sub Worksheet_Change(ByVal Target As Range) Dim ValidValues As String Dim Cell As Range Dim IntersectRange As Range Dim SelectedValue As Variant ValidValues = "ー, ◯, ×" Set IntersectRange = Intersect(Target, Me.Range("B5:AO35")) If IntersectRange Is Nothing Then Exit Sub On Error Resume Next Application.EnableEvents = False For Each Cell In IntersectRange If Weekday(Me.Cells(Cell.Row, 1), 2) = 7 Then ' 日曜日の場合 Cell.Value = "" MsgBox "日曜日には入力が許可されていません。", vbExclamation Else SelectedValue = Cell.Value If InStr(1, ValidValues, SelectedValue) = 0 Then Cell.Value = "" MsgBox "有効な値を入力してください。", vbExclamation End If End If Next Cell Application.EnableEvents = True End Sub マクロを使う場合、あるいは、ユーザー定義で、日曜はだめよを、定義した場合、入力規則を使わないで、欄外に例えば B38:AO38 に ◯ B39:AO39 に × B40:AO40 に ー を、ズラッと入力しておくと、右クリックの”ドロップダウンリストから選択”が使えます。 これは、ショートカットキー ALT+↓ なので、 入力の際、マウスを触ることなく、TABキー ALT+↓ ↓ で、入力することができます。

hooue100
質問者

お礼

ありがとうございます リストは生かしたままとしたいです 結局、日曜日をスキップさせて表示しないようにさせる方法で 対応します

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.4

マクロを使ってもよろしければ、強引に「-」にしてしまう方法があります。 該当のシートタブを右クリックして「コードの表示」で出た画面の右側に以下をコピペするとA列に(日)が含まれた行でセルを選択したりデータを入力したりしてもすべて「-」に変えてしまいます。 AU1は右端(503の夕)の1行目のセル番地を記載してください。 B列から上記の列までが対象となります。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column < Range("B1").Column Or Target.Column > Range("AU1").Column Then Exit Sub End If If InStr(Cells(Target.Row, "A").Text, "(日)") > 0 Then Target.Value = "-" End If Application.EnableEvents = True End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEvents = False If Target.Column < Range("B1").Column Or Target.Column > Range("AU1").Column Then Exit Sub End If If InStr(Cells(Target.Row, "A").Text, "(日)") > 0 Then Target.Value = "-" End If Application.EnableEvents = True End Sub

hooue100
質問者

お礼

詳細をありがとうございます!!! 試してみましたが、B1=>B7、AU1=>AO7 に置き換えて、上書き保存しましたが 動作しなかったです 日曜日はスキップさせる方法で対応しようと思います ありがとうございました

hooue100
質問者

補足

エクセルシートのリンクを張り忘れていました https://drive.google.com/file/d/14mg4WkrjIjiJUNS_EO5rq6XKe_O3HGwx/view?usp=sharing

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

添付図参照(Excel 2019)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓

hooue100
質問者

お礼

WORKDAY.INTL(A5,1,11)で対応できました

  • webuser
  • ベストアンサー率33% (372/1120)
回答No.1

日曜日のリストを-だけにすればいいのでは?

関連するQ&A

  • データの入力

    Excel2013を利用しています。 表を作成して91-12-17や91-11-10等のデータを入力すると 1991/12/17や1991/11/10等の日付に変換されて表示されます。ある特定のデータのみが日付表示になっているようだったので入力規則でリスト作成して元の値の所に91-12-17,91-11-10を入力しても91-12-17や91-11-10がリストに反映されません。 ある特定のデータのみが何か規制が掛かって日付表示になっているのでしょうか(素人でわかりませんけど) 良い改善方法はないでしょうか? 現在は特定のデータはセルの書式設定を文字列に指定して入力しています。 ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • 日曜日のみ表示する方法を教えてください。

    日曜日のみ表示する方法を教えてください。 現在,出席簿を作成しております。 そこで,日曜日のみ表示できる方法を探したのですが,どうも,見つけられませんでしたので,教えてください。  日 123456789 月            4   日      日  5      日      このような出席簿です。日曜だけセル内に「日」を表記したいのです。 日曜日は「○」「×」はもちろん,記入しません。    ・セルには,プルダウンリストで出席→「○」・欠席→「×」などを入力します。 ・条件付き書式で「△」は赤で記入するようにしています。 どうぞよろしくお願いします。

  • エクセルの「入力規則」についてお尋ねします。

    エクセル2010です。 あるセルにデータの入力規則を設定します。 条件設定の入力値の種類を「リスト」にし、リストの値は、0,1,2,3と直接指定します。 これで設定したセルにはプルダウンで0,1,2,3を選択するか、直接0~3の数値の入力しかできなくなります。 ここまでは問題ないのですが、このセルにユーザー定義の書式、0"人"を設定して、1は1人と表示されるようにしました。そうすると、直接0~3の数値の入力ははじかれ、プルダウンで0,1,2,3を選択するしか入力ができなくなります。 リストに設定した値を正しく入力しているのに排除されるのはなぜでしょう? いろいろ試し、リストの値を、0,1,2,3と直接指定せず、セル範囲のリスト指定とし、そのセル範囲にもユーザー定義の書式、0"人"を設定しておけばクリアできました。 でも、たかだか数件のリストを指定するのにいちいちリストをワークシート上に作成し、そこにもユーザー定義の書式を設定しなければならないのは腑に落ちません。

  • 【Excel】リストにテキストを入力したい

    Excel2007利用です。 「データの入力規則」で作るリストを設定したセルに直接書き込むことはできないようですが、 リストから選択して表示させたテキストにまた入力したテキストを追加させたいのです。 何か設定解除があれば教えてください。 また、「データの入力規則」ではなくてもこのようなテキスト追加ができるリスト作成の方法がありましたら教えてください。

  • エクセルで条件書式と入力規則を使い、カレンダーを作りたい!

    仕事でエクセルを使って、 「各営業所における営業日の実績データ」を収集しているのですが、 PCを得意としていない人たちが入力していることもあり、 休業日など目的と違うところにデータを入力してしまうことがあります。 そこで、視覚的に入力するところを分かりやすくし、 それでも間違ったところに入力してしまうのを防ぐため、 条件書式と入力規則を使って、カレンダーを作りました。 年月を入力すれば自動的に日付が変わるカレンダーを作り、 日付は正しく反映されているのですが、 営業日と休業日が上手く反映されず、その原因が分かりません・・・。 当社の営業日設定なのですが、 基本的に平日と日曜が営業日で、休業日は土曜と祝日になります。 ただし、平日が祝日だった場合は休業ですが、 日曜日と祝日が重なった場合は営業日になります。 なお、年末年始(12/31~1/3)は休業日になります。 さらにややこしくなってしまうのですが、 GW中(4/28~5/7)の日曜日、年末年始(12/30~1/5)の日曜日は、 長期連休ということで休業日になっています。 エクセルのデータですが、 列Aには日付(A3が1日)、列Bには曜日が入力してあり、 列Cと列Dに実績データを入力してもらう形にしてあり、 ここに条件書式と入力規則を設定しています。 また、セルV2~W33までに各祝日のリストとその振替休日、 加えてそれ以外の休業日(12/30、1/2、1/3)の日付を記入してあります。 前置きが長くなってしまって申し訳ございません。 以下が、私の考えた条件書式と入力規則の流れです。 まず休業日を考え、入力規則のユーザー設定に、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0 ) (※祝日リストに日付があるか、土曜日である) として、さらにGW・年末年始休業の部分を、 AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)), と考えました。また祝日かつ日曜日は営業日となることを、 AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), と考えて、その逆が休業日であることから、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0, OR(COUNTIF($V$2:$W$33,$A3)=0,MOD($A3,7)<>1), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)) ) 上記を休業日として入力規則に入力しようとしましたが、 長過ぎて入らないようなので、GW・年末年始休業の部分を、 必要な該当月ごとに書き換えてみましたが、うまくいきませんでした。 ちなみに、その逆が営業日であるので、条件付き書式の数式に、 =AND( COUNTIF($V$2:$W$33,$A3)=0, MOD($A3,7)<>0, AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), OR(MOD($A3,7)<>1,OR(MONTH($A3)<>12,DAY($A3)<30)) ) と入力し、確認しましたが、やはりダメでした。 (ちなみに、「祝日かつ日曜日」があり「年末年始休業日」もある  2012年12月に設定を入力しながら結果を確認していました。) いろいろ試行錯誤した結果、一つ一つはどうやら正しいので、 組み合わせたときに、「祝日かつ日曜日」と「祝日でない」が 同居しているのが悪いと思うのですが、何か解決策はないでしょうか? 長い文章になってしまい恐縮ですが、ご教授お願い致します。

  • 【エクセル2003】入力規則のリストから土日のセルを取り除きたい。

    仕事でエクセルを使って、「各営業所の最大繁忙日」データを収集しているのですが、 各営業所の担当者に毎月一番忙しかった日付をエクセルへ入力してもらおうとすると、 「4月13日」や「4/13」など、ばらばらの書き方になってしまうので、 入力規則のリストを使って、日付を選択する方法にしようと思いました。 既に作成してあるカレンダーを使い、リストを作ることは問題なくできたのですが、 通常のカレンダーなので土日や休業日も入ってしまっています。 せっかくなので、リストから関係のない 営業日以外の日付 を抜き取りたいのですが、 特定のセルだけ抜き取ったリストを作ることは可能なのでしょうか? いろいろ考えたのですが、作業列を使って、 営業日以外の日付を「-」にしたリストをつくり、 視覚的に土日を選ばないようにするのが限界でした。 【参考】 Q列にカレンダーがあり、Q1は年、Q2は月、Q3~Q33に日付が入っています。 ※ Q3には、=DATE($Q$1,$Q$2,1)と入力してあり、Q4にはQ3+1、Q5にはQ4+1・・・と入っていて、 Q1、Q2の数値だけを変えるだけでカレンダー全体が変わるようになっています。 これが上記文章中で言う「通常のカレンダー」になります。 このカレンダーを使い、X3~X33をリスト用カレンダーにするため、 X3以降に下記のように入力し、営業日以外を「-」となるようにしました。 =IF(AND(COUNTIF($V$2:$W$33,$Q3)=0,MOD($Q3,7)<>0,MOD($Q3,7)<>1,MONTH($Q3)=$Q$2),$Q3,"-") 「$V$2:$W$33(祝日リスト)になく土曜でも日曜でもない」=営業日 で、 かつ、Q2と同じ月の日付を返し、それ以外を「-」と返すことで、 視覚的に該当月の営業日のみを選べるようなリストを作りました。 ドロップダウンリスト例) 4/1 4/2 - - 4/5 4/6 ・ ・ ・ この「-」の部分を空欄("")にして、入力規則の「空白を無視する」にチェックを入れれば、 自動的にリストが詰まるのかと思ったのですが、そういったチェックではないんですね・・・。 そのようなリストを作ることは可能なのでしょうか? 分かりにくい説明で申し訳ございませんが、ご教授お願い致します。

  • 日曜日の色の変更

    初心者ですので、よろしくお願いいたします。 早速ですが、日常点検の表を作成しております。 A1セルに2007年、B1セルに1月と入力。 A2セルに日付表示のDATE関数設定【=DATE(A1,B1,1)】 A3セルに曜日設定【ユーザー定義aaa】 個々のセルに日付・曜日を表示した場合 『日曜日の場合(日付と曜日)の色変更』の仕方がわかりません。 一つのセルに月・日・曜日表示の場合(WEEKDAY設定・・)は 出来るのですが・・ 条件付き書式もうまくいきません。(設定方法が間違っているのかわかりませんが・・) 説明が不器用ですみません。 どなたかご存知の方、よろしくご伝授ください。

  • 書式と定型入力の違い

    Microsoft Access2002を利用しています。 テーブルを作成していますが、入力データの統一性を持たせるため定型入力なるものを設定しているのですが、書式と定型入力との違いが今ひとつよく分かりません。 データ型がテキスト型だったら、定型入力のプロパティで数値型、日付型だったら、書式のプロパティで設定するのでしょうか?

  • [Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

    エクセル2000での質問です。 [ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが 小さ過ぎるのはなぜでしょう? 入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、 ドロップダウンリストは大変小さく変更されません。 ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が おられましたらどうぞご教授ください。 お願いいたします。

  • エクセルの日付の入力の仕方

    困ってます。 今、リストを作ってるのですが、エクセルでは日付にどんな表示書式を設定しても、数字を入力する時、日付として判断してもらうには、「/」を入れないといけないのでしょうか? それとも05.03.01といった「.」とかではできないのでしょうか? せっかくいろんな表示書式があっても、入力の仕方がひとつでは、面倒くさいです。 どなたか、「.」でも変換してくれる方法があれば教えてください。

専門家に質問してみよう