• ベストアンサー

リストダウンのセル入力を月日に変換する

お教えてください。 エクセルのリストダウンで、各セルに数字のみ入力されます。 A1 には年度の2009 、A2には月の1を A3には日付の21 で に2009/1/21になる用にしたいのです。 またはA2 には月の1月をA3には21日 を入力すると2009/1/21を表示する方法。 その後A4には曜日を記入する。間違って月に15などない数字や日にちに34などを入力すると、「再入力してください」の表示がでればなおいいのですが、宜しくお願いします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ごく簡単なヒントとしての一例です。 実際には、もう少しきちんとしておいたほうがよろしいかと思います。 Sub test() Dim s As String, da As Date w = Split(" 日 月 火 水 木 金 土") 'B1,C1から読み取る(補う年は入力した時の年)  s = Range("B1") & "/" & Range("C1")  If IsDate(s) Then da = s  s = Format(Date, "yyyy/") & s  MsgBox ("text=" & s & " date=" & da & " week=" & w(Weekday(da))) 'A1,B1,C1から読み取る  s = Range("A1") & "/" & Range("B1") & "/" & Range("C1")  If IsDate(s) Then da = s  MsgBox ("text=" & s & " date=" & da & " week=" & w(Weekday(da))) '入力値との比較  If (Year(da) <> Range("A1") Or Month(da) <> Range("B1") _       Or Day(da) <> Range("C1")) Then MsgBox ("再入力") End Sub

gorugo48
質問者

お礼

返事遅くなりました。 &、を使用すると上手く出来ました。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

Visual Basic のカテゴリーで質問されていると言うことは、VBAでやりたいということなのでしょうが、せっかくExcelを使うのですからこの程度の事は、セルの入力規則やセル式、表示形式で解決されることをお勧めします。 A1~A3についてはデータの入力規則で対応。A4に付いては =DATE(A1,A2,A3)と入れて、表示形式を"aaaa" で曜日表示になります。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

> A1 には年度の2009 、A2には月の1を A3には日付の21 で に2009/1/21になる用にしたいのです に関しては、 目的のセルに、"=DATE(A1, A2, A3)"で、できると思います。 セルの書式設定が日付になっていないと、表示はおかしくなるかと。 > その後A4には曜日を記入する 自動で曜日が入力されてほしい、という事でしょうか? chooseとweekday関数を組み合わせた式を作成したら、実現できますが、そういう意味ではないでしょうか。。

gorugo48
質問者

お礼

返事遅くなりました。 DATE関数が利用できるのですね。 "/",&などを使用しておりました。 大変簡単に対応出来ました。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでの月日、曜日の入力に関して

    こんにちは いつもお世話になっています。 エクセルで日付、曜日の入力に関して教えてください。  セルA1に西暦年月日を数字で入力してあります。表示形式は標準です。  例えば、2010年1月1日は20100101です。  これに対応させてセルB1に月日、例えば1月1日。セルC1には曜日を入力させたいです。  歴史年表を作っています。よろしくお願いします。

  • エクセル2000 セルの表示設定

    エクセル2000 セルの表示設定で同一のセルで、日にちと曜日を表示させる事は出来ますか? 表示形式で日付を選ぶと和暦、西暦で日にちを表示できますが、曜日まで表示できません。ユーザー定義を設定して同一のセルで日にちと曜日を表示させる方法を教えていただけますか、お願いします。 また、出来ない場合セルのA1に日にちを入力してセルのB1に曜日を表示させる関数を教えてください。 よろしくお願いします。

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

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

  • ○、×のドロップダウンリストを作りたい。

    エクセルで「○」か「×」かを選択できるように ドロップダウンリストを作りたいのです。 ドロップダウンリストに表示させたい 「○」「×」を別のセルに入力して、選択するように しているのですが、これを表示させないようにするには どうしたらよいのでしょうか? つまり、私がしていることは データ→入力規則→入力値の種類を「リスト」にする→元も値を「○、×が入力してあるセル を選択しているのです。」 この、元の値のセルの値が邪魔なのです。 どうぞ、よろしくお願いします。

  • エクセル、ドロップダウンリスト設定セルに手入力したい時は?

    エクセルのデータベース作成中です。 ドロップダウンリストで「その他」の項目を選んだとき、そのセルに手入力をしたい場合はどうすればよいのでしょうか? エラー表示になって手入力出来ません。エクセルでは不可能なのでしょうか?

  • エクセル:入力規則のリストとセルの関数は同居できますか?

    エクセル:入力規則のリストとセルの関数は同居できますか? 普通にやるとセルの計算式はリストを選んだ時点でリストの文字に上書きされてしまうので困っています。 (例)   A              B         C 1 2008/08/02        =TODAY 2 ▽リスト           OK 3                NG 4 A2のセルにに =IF(A1>B1,"")と書いたとします。 で、さらにA2のセルに入力規則>リストで範囲B2:B4と設定したとします。 要は、A1に記入した日付が未来の場合は、 A2でリストで選択した文字を空白にしたいのです。 が、どうしてもリストの文字に上書きされてしまうので困っています。 やはり、関数を書いてあるセルに文字を書くと上書きされるのと同じですかね? なるべくVBA以外でなんとかしたいのですが、、、。(でもVBAでも可です)

  • セルへの入力

    エクセルのセルへの入力で、一部のセルで5.9とか17.5などの数字を入力すると1月5日とか1月17日に変換されてしまいます。入力した数字をそのまま表示できるようにするにはどうしたらよいのでしょうか。

  • エクセル 特定の単語が入力されたときにセルの色を変える

    エクセル 特定の単語が入力されたときにセルの色を変える A1に日付を入力すると、A2に自動的に曜日が入る数式を入れています。 カレンダーのように1ヶ月分がまとめて表示されているわけではなく、入力が必要な日だけ日付を入れるような表になるのですが、土曜や日曜の場合、曜日のセルの色を変える方法を教えていただけますでしょうか。 条件付書式でやってみたのですが、曜日のセルに数式を入れて自動的に表示させている場合、うまくできませんでした。(直接、土曜や日曜と入力するときちんと色が変わったのですが)

  • Excelのリストで1文字目のみをセルに表示したい

    質問させていただきます。 Excelでドロップダウンリストに表示される文字の一文字目のみをセルに表示したいのですが何か方法はありますか? ドロップダウンリストには 1 トマト 2 スイカ 3 リンゴ と表示されて選択をするとセルには一文字目の数字のみが出るというような形です。 よろしくお願いいたします。

  • Excel2010 出勤簿の曜日自動入力について

    Excelで前月21日~当月20日までの出勤簿を作っています。 曜日の自動入力についてご教授をお願いいたします。 A1セルに年、A3セルに月の数値を入力します。 A8セルからA18セルまで21から31の数値(日にち)を、A19セルからA38セルまで1から20の数値(日にち)を予め入力してます。 上記の条件で B8セルからB18セルに、A1に入力した年とA3に入力した”前月”の21日~31日までの曜日を、 B19セルからB38セルに、A1に入力した年とA3に入力した”当月”の1日~20日までの曜日を表示する関数を教えていただきたくよろしくお願いいたします。 *A3セルが1(1月)の場合、B8セルからB18セルには昨年の12月の曜日が表示となります。 何卒よろしくお願いいたします。