• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2000マクロ年月計算)

Excel2000マクロで2002/04の1〜6か月前の日付を入力する方法を教えてください

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

分かりやすく6個書いてみました。当然ForNextが使えますね。 ご参考に。 Sub Zengetu1_6()   Dim Ima As Date '今の日付   Ima = Range("A1")   Range("B1") = Format(DateSerial(Year(Ima), Month(Ima) - 1, 1), "yyyy/mm")   Range("B2") = Format(DateSerial(Year(Ima), Month(Ima) - 2, 1), "yyyy/mm")   Range("B3") = Format(DateSerial(Year(Ima), Month(Ima) - 3, 1), "yyyy/mm")   Range("B4") = Format(DateSerial(Year(Ima), Month(Ima) - 4, 1), "yyyy/mm")   Range("B5") = Format(DateSerial(Year(Ima), Month(Ima) - 5, 1), "yyyy/mm")   Range("B6") = Format(DateSerial(Year(Ima), Month(Ima) - 6, 1), "yyyy/mm") End Sub

noname#72697
質問者

補足

できました。ありがとうございました。 いつもわかりやすい回答ありがとうございます。

関連するQ&A

  • マクロで書式設定を変更したいのですが・・・

    マクロで日付の書式を変更したいと思っています。 例) 2014年7月14日 という日付が入っているセルがあるとします。 これを2014/7/14 と変更したいのです。 これはあるファイルをダウンロードした時に日付がこの書式で設定されていまして 仮にA1にこの日付があった場合に Range("A1").NumberFormatLocal = ("yyyy/m/d") と、そのファイル上でマクロを動かせば、普通に変更するのですが・・・ 別のブックでマクロを動かして、そのファイルを開いて Range("A1").NumberFormatLocal = ("yyyy/m/d") と、同じマクロを動かすと 書式が変更されずに、エラーになるのです。 日付が2014年7月14日 の場合 書式設定が標準なら「41834」になると思うのですが この場合、標準にしても 2014年7月14日 になってしまうのです。 これは、何か原因があるのでしょうか? または、別のブックからはこのようなマクロはうごかせないのでしょうか? 説明が稚拙で申し訳ないですが、ご存知の方ご教示よろしくお願いします。

  • エクセルで経過時間を割り出す計算

    セルA1に 2009/6/29 1:46 セルB1に 2009/06/30 9:12 という形で日付、時間が格納されています。 書式は両方とも、日付の YYYY/M/DD HH:MM です。 分単位でセルA1からセルB1の所用時間を分で割り出す事は可能でしょうか。

  • Excelのマクロで基準日から見た日付の前後を判定したい

    Excelのマクロについて質問です。 初歩的な内容かもしれませんが よろしくお願いします。 マクロで日付を扱おうとしたのですが うまくいきませんでした。 ある日付が基準日から見て前の日か後ろの日かを 判定しようとしたのです。 たとえば セルA1に入力した日付が 今日より先ならセルB1に「1」を 後なら「2」を表示しようとして If Range("A1") > "=TODAY()" Then Range("B1") = 1 Else Range("B1") = 2 End If このようにすると セルA1にどのような日付を入れても セルB1は「2」と表示されてしまうのです。 "=TODAY()" の部分に問題があるのでしょうね。 でも、確かこれで今日という日付を 表しているのではなかったでしょうか… 日付はどのように扱われているのでしょう。 回答をお待ちしております。

  • Excelの時間計算について

    日付と時間が入力されたセルがあるのですが、 そのセル内容を合体させて別のセルに表示しようと思っています。 例)A1に日付「2009/07/11」、B1に時間「15:00」と入力されていた   場合に C1に「2009/07/11 15:00」を表示させ、実時間として   認識させたい。D1に表示された現在の時刻「=NOW()」からの   経過時間をE1に表示させるのが目的。 表示だけでしたらC1に 「=TEXT(A1,"yyyy/mm/dd")&" "&TEXT(B1,"hh:mm")」 と入力すれば解決するのですが、 時間として認識させるにはどのようにすればよいでしょうか? 因みにB1のセルの時刻は書式設定を「yyyy/mm/dd hh:mm」として 表示させると「1900/01/00 15:00」となります。 D1に表示された現在の時間「=NOW()」からどれだけ時間が 経過しているかを計算させ、E1に表示するのが最終目的です。 どなたかお知恵を貸していただけませんでしょうか? よろしくお願いします。

  • エクセル2000:「半角数字で年/月/日と入力する」と表示され、入力できない

    会社で使用しているエクセルの書式があるのですが、日付が入っているセルに「=TODAY()」が入っていました。 自動的に今日の日付が入るわけですが、日付を入れたくなかったので、「=TODAY()」を消し、「平成  年  月  日」と入力すると、ダイアログが表示され、「半角数字で年/月/日と入力する。」と表示されます。 ここから困っているのですが、表示形式を日付から標準や文字列等に変えても、同じダイアログが出ます。入力する文字は、数字・アルファベット・ひらがな・漢字のどれを入力しても、全角・半角のどちらを入力してもダメでした。 半角で「2007/1/1」と入力してもダメです(泣) IFやSUM関数を入れても表示されないのですが、TODAYだけ、入力が出来ました。 私が作った書式ではないため、何が問題なのかさっぱり分かりません。 ちなみに、その書式にはマクロが入っています。(印刷の設定をマクロでしているようなのですが、書いてあることはよく分かりません。)これを無効にしても、ダメでした。 長くなり申し訳ありません。 「=TODAY()」しか入力を受け付けないのはどうしてなのでしょうか? どうすれば、通常の入力ができるのでしょうか? ご存知の方、よろしくお願いします。

  • エクセルのマクロについて

    エクセルのマクロを使って日付を入力したいのですが、上手く行きません。 何か良い方法があったら教えてください。 やりたいことは、あらかじめ選択されているセルに、今日(作業当日)の日付を入力することです。 これまで試したのは、 〔ctrl〕+;→マクロ作成日の日付を入力するようになってしまうので駄目 today関数→翌日になると、日付も翌日のものになってしまうので駄目 よろしくお願いいたします。

  • Excelシートの自動コピーでマクロを使いたい

    表題通り、Excelシートの自動コピーをマクロを使って行いたいのですが、 マクロやVBAの知識が全くないため、どなたかコードを教えていただけないでしょうか。 まず今現在、B1セルに9月1日と日付を入れ、シート名を1日としたものがあります。 これを自動で複製して、B1セルの日付を9月2日 9月3日… シート名を2日 3日…となるように、日毎ごとの一ヶ月分のシートを作り ひとつのbookにしたいと考えております。 また、その際に、B1セルとシート名の日付が日曜・祭日に当たる場合、 シート名に色を付けたいと思っています。 (因みにB1セルの日付はシリアル値で入れていて、 書式で○月○日となるように表示していて、日付が日曜・祭日に当たる場合は 赤文字になるよう、別シートに祝日リストも作って 条件付き書式で設定してあります。) Excelの関数は使えても、マクロは全く分からないので どうかよろしくお願い致します。

  • エクセルについて

    まず、H6に日付と時間が記入されたセルがあります。 (例)2009/11/09 (月)15:00 ↓ A2に「=TODAY()」を記入したセルがあります。 ↓ I6に日付だけ取り出した「=LEFT(H6,10)」の記述があります。 ↓ B2に「=SUMPRODUCT(($C$6:$C$999=$B1)*($G$6:$G$999=$A$2))」という記述で、件数を出したいのですが、I6を日付と認識してくれず件数がB2に表示されません。 表示させるにはどうしたらいいのでしょうか? 教えて下さい。

  • エクセルマクロで日付検索について

    エクセルのマクロで日付を検索するマクロについて質問です。 ブックAのシート1のA列に A1 2017/3/13 A2 2017/4/1 A3 2017/4/19 A4 2017/5/16 A5 2017/7/17 A6 2017/9/5 というような日付が入っています。 ブックBのシート1のA1セルに2017/6/3と入力してマクロを実行した際に その日付に一番近い一つ前の日付を探し、見つけた日付のB列のセルを ブックBのシート1のA2セルに表示したいです。 今回の例であれば2017/6/3に対してブックAのシート1のA列はA4セルが当てはまり その当てはまったA4セルの1つ横のB4セルの内容をブックBのシート1のA2セルに表示するということです。 よろしくお願いします。

  • EXCEL 日付表示について

    EXCELのセルに「2009/3/1 16:15」と表示されています。 (実際には「2009/3/1 16:15:00」と入力し、セルの書式設定のユーザー定義で「yyyy/m/d h:mm」と設定しています。) このセルの「2009/3/1」だけ抜き出したいと思っていますが関数など、いい方法はないでしょうか。 実は、このセルの列には他に「2009/3/1 11:51:03」のようなセルがありまして、ピボットテーブルで日付別件数を出したいと考えています。 よろしくお願いいたします。