• 締切済み

エクセルVBAで日付の入力状態を判別したい

エクセル2003を使用しています。 12月(PCの日付)に1月の日付が入力されたら来年の西暦に変更するマクロを考えています。(Changeイベント) 但し、日付が西暦から入力されたら無視するようにしたいのですが、月日のみの入力なのか西暦からの入力なのかの判別の方法が判りません。 書式を文字列にすれば簡単なのですが、日付を対象にしたいです。 よろしくお願い致します。

みんなの回答

回答No.1

入力規則を利用しては如何でしょうか。 入力時に都度、マクロで設定します。 都度設定するのは、一度日付をいれた後、2度目に入れる際は年号からでも入ってしまうからです。 設定は、入力範囲に1/1と12/31にすれば良いかと思います。 試しに記録で、入力規則を試してみましょう。

関連するQ&A

  • ショートカットキーで日付入力時の書式設定法 excel

    EXCELでは""Ctrl""+"";"" で現在の日付が [yyyy/m/d]形式にて簡単に入力可能です。 この際の書式を変更したいです。現状、西暦が4桁も場所をとり、文字列としてもっと短くしたいのです。 当サイト内で”日付 ショートカット、EXCEL、 書式”などの単語で検索してみましたが、なかったです。またエクセルのツール>オプションのダイアログも見ましたが、不明でした。なるべくマクロを使わない方法で探しています。宜しくお願いします。

  • EXCELでの日付表示で

    EXCELで日付表示する際に、「0208」と入れたら「2/8」となるようにしたいのですが、 「セルの書式設定」の「ユーザー定義」や「日付」では西暦から入力しないと 「2/8」のようにはなりません。 それも「2005/02/08」と入力して初めて「2/8」となるのなら 初めから「2/8」と直接入力した方が早いです。 要は「/」(スラッシュ)をイチイチ入力したくないので、 「0208」→「2/8」となるようにしたいのですが、その場合 どういう書式設定をすればいいのでしょうか? もしかすると、日付というより文字列として考えた方がいいのかも しれませんが、分かる方教えて下さい。

  • エクセルで入力された西暦の月日の前ゼロを消す

    生年月日が西暦で入力されています。 1995/04/11という感じで何百もあります。 これを月日の前ゼロなしにしたいのです。 1995/4/11というように。 関数を教えてください。 今後は書式の設定をしますが 現在は文字列になっていてセルの書式設定で 日付に変えてもかわりません。 よろしくお願いします。

  • Excelで来年の日付を簡単に入力する方法

    Excelで来年のスケジュールを作っているのですが、 月日(m/d)で入力した日付が、全て今年の日付 (2004/m/d)で認識されています。 やりたいのは、例えば「2/1」と入力すれば「2005/2/1」 として認識・入力されることです。(毎回、年から 入力すると手間なので・・・。 仕組み的には、入力した日付(m/d)が、一定期間 以上、前や後ろだった場合に、年も自動で判別して 前年や来年の年月日として認識させる方法/設定が あった気がするのですが、これって別なソフトだっ たのでしょうか。 VBで変換するほどの手間はかけたくなく、Excelの 基本機能としてそういう設定ができると嬉しいの ですが、無理ですかね?

  • エクセルでの日付

    少し早めの回答をお願いいたします。 エクセルのセルに対して月日を入力すると、今年の年号が付記されてしまいます。 ここで来年の日付を入力したいのですが、通常通り月日のみだと本年の2004が付記されてしまいます。 これを2005と付記されるようにするにはどうすればいいでしょうか。 特記事項 表示形式の分類:日付 表示形式の種類:3月4日 入力値:1/15 出力値:1月15日 数式バーの値:2004/1/15 ここの数式バーの値が、自動で2005/1/15となるようにしたいのです。 ・マクロ・VBなどは使用しない ・入力の際に「2005/1/15」と直接入力するしない ・あくまで「1/15」と入力する ・表示形式も変更しない この状態で、自動的になる方法はないでしょうか。 宜しくお願いいたします。 バージョンは、office 2000 pro SR1です。

  • エクセルで日付の入力

    お世話になっております。 エクセルで日付を入力したいのですが、平成20年11月21日と入力すると、平成20年11月21日と小文字になってしまいます。 ダブルクリックをすると2008/11/21となっています。 例えば、11月31日と入力すると大文字でセルにぴったりになるのですが、カレンダー通りの日にちだとダメです。 どうしたら良いでしょうか?? (PS.セルの書式設定の【文字列】にしてもダメです…。) 分かりづらくて申し訳ないのですが、教えて下さい。

  • マクロに詳しい方!エクセルの日付入力について

    エクセルの日付入力について、例えばB列に何か入力したら自動的にA列に入力した日がB列に表示されるようにする方法(TODAY関数のように常に現在の日付ではなく、入力した日のまま固定にする方法)について検索したところ、下記の通り、マクロをつかった回答がありました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1413916824 B列に入力し、A列に日付を書き込む場合 B1→A1 B2→A2 B3→A3 … -------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub Application.EnableEvents = False Target.Offset(, -1).Value = Now Application.EnableEvents = True End Sub -------------------- 小生はマクロが分かりませんが、上記のコードをコピペ入力すると、その通りになりました。 そこで、みなさんにご相談ですが、これをA列に入力→B列に日付、C列に入力→D列に日付、E列に入力→F列に日付・・・・・というようにしたいのですが、そのコードを教えて頂けないでしょうか。 何卒お知恵をお借りしたくお願い致します。

  • Excelで日付と時間の自動入力

    教えてください。 エクセルで表を作っているのですが、 D列に文字を入力すると、 A列に入力した日付 B列に入力した時間 を「自動で」表示させたいのですが…マクロやVBAなどでできますでしょうか? できれば、D列の文字を消すと日付と時間も消えるようにしたいです。 初心者で申し訳ないのですが、よろしくお願いします。

  • エクセルの日付についてお尋ね致します。

    エクセルの日付についてお尋ね致します。 A列に、1998.2.6 1998.3.14 1998.4.5 など、日付が昇順で入力されているデータが10年分ほどあるとします。 同じ月日で、年だけ20年遡ったものを作りたい場合、どういう方法がありますでしょうか? ご教示頂けたら幸いです。

  • Excelの日付の入力について

    A列のセルにずらっと 2011/11/29といった感じで日付の入力をしています。 セルの書式設定で 2011年11月29日 と表示されるようにしています。 これらのデータを表示されている通り B列に貼り付けをすることは可能でしょうか? 貼り付けをしてB列のセルの書式設定で 表示方法の選択をすればいいのすが それでは見せ方を変えているだけなので 出来れば 2011/11/29を 2011年11月29日という文字列のデータにして 貼り付けという作業がしたいです。 詳しい方、お願いします。

専門家に質問してみよう