- ベストアンサー
マクロを使って未来の日付を算出する方法
- マクロを活用して、未来の日付を算出する方法について教えてください。
- エクセル関数ではなく、マクロを使用して周期設定された未来の日付を算出したいです。
- B2セルには年の周期、B3セルには月の周期、B4セルには日の周期を入力し、B5セルに算出結果が表示されるようにしたいです。また、算出結果が今日の日付を超えた場合には、セルを赤色に塗りつぶしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7940)
関連するQ&A
- マクロ 未来の日付を算出する その2
まだまだ未熟な者です。 年と月と日の加算を同時に成立させて、未来の日付を表示させようかなと思っています。加算を同時成立させる方法が分からなくて、以下の方法を取りましたが、マクロがまともに動きません。以下の記述方法の場合、どの点が間違っているのでしょうか?御指導お願いします。 Sub 周期到達日を算出する(2)() Sheets("日付").Range("C6").Value = DateAdd("yyyy", Range("C3"), "1900/1/0") Sheets("日付").Range("C7").Value = DateAdd("m", Range("C4"), "1900/1/0") Sheets("日付").Range("C8").Value = DateAdd("d", Range("C5"), "1900/1/0") Sheets("日付").Range("C10").Value = Range("C3") + Range("C4") + Range("C5") + Range("C9") End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで日付検索について
エクセルのマクロで日付を検索するマクロについて質問です。 ブック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 VBA マクロ 日付
こんばんわ。 EXCEL VBA マクロ の日付について質問があります。 セル"A1"で"年"(例:2008)、セル"B1"で"月"(例:5)を指定します。 C1からC500くらいまで(毎日増えていきます)日付が入っています。 A1、B1で指定した年月と同じC列の日付を 10桁スラッシュ区切りの形式(例:2008/05/15)で 右隣のセル(D列)にコピーしたいんです。 困ったことにC列は形式が決まっているわけではありません。 たとえば、2008年5月15日の場合、 ・20080515・2008年5月15日・2008.05.15・2008.5.15 ・2008/05/15・2008/5/15・08/05/15・2008-5-15 その他、いろいろ考えられます。 これをマクロでやるにはどうすればいいでしょうか。 毎月一回実行します。 日付の形式をチェックするところで やり方がわからなくて困っています。 よろしくお願いします。
- 締切済み
- Visual Basic
- エクセルのマクロについて質問です。
エクセルのマクロについて質問です。 マクロを発動した時に、あるセルに入力してある数値を参照し、その行のX列目に数値を張り付けるものを作成しようとしています。 例えば シート「1」の A1に日付を入力 B1にある数字を入力 シート「2」の A列にA1→1~A31→31の日付が入力されている時 マクロ発動時にシート「1」A1の日付と一致する シート「2」のB列にシート「1」のB1の値を貼り付け ↑たとえばシート「1」のA1が1日でB1が500だった場合 シート「2」の1日(A1)と同じ行でB列(B1に500を 貼り付けるものです。 かなり下手な説明だと自覚しておりますが、解読できる方 どうかご教授ねがいます。
- ベストアンサー
- その他MS Office製品
- Excelのマクロで基準日から見た日付の前後を判定したい
Excelのマクロについて質問です。 初歩的な内容かもしれませんが よろしくお願いします。 マクロで日付を扱おうとしたのですが うまくいきませんでした。 ある日付が基準日から見て前の日か後ろの日かを 判定しようとしたのです。 たとえば セルA1に入力した日付が 今日より先ならセルB1に「1」を 後なら「2」を表示しようとして If Range("A1") > "=TODAY()" Then Range("B1") = 1 Else Range("B1") = 2 End If このようにすると セルA1にどのような日付を入れても セルB1は「2」と表示されてしまうのです。 "=TODAY()" の部分に問題があるのでしょうね。 でも、確かこれで今日という日付を 表しているのではなかったでしょうか… 日付はどのように扱われているのでしょう。 回答をお待ちしております。
- 締切済み
- オフィス系ソフト
- 日付データから曜日算出について
お世話になります。 エクセルで、A列に日付のデータが有り、B列に =A1 として、書式設定のユーザー定義で aaa として曜日をB列に 算出しようとしましたが、うまくいきません。 うまくいかない理由は、日付データの頭に ' が入っている 為です。LEFT関数で抽出してから、コピーして値貼り付け しても ’ は消えません。一セルづつ ’をデリートすれば 消えますが、4万行ほどあり、とてもやってられません。 いい方法ないでしょうか。 お教え頂きたく宜しくお願い致します。
- ベストアンサー
- Visual Basic
- マクロに詳しい方!エクセルの日付入力について
エクセルの日付入力について、例えば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列に日付・・・・・というようにしたいのですが、そのコードを教えて頂けないでしょうか。 何卒お知恵をお借りしたくお願い致します。
- ベストアンサー
- その他MS Office製品
- 日付を選ぶと月だけ入力されるマクロが作りたい
A4~A369のセルに日付が入っています。2012/1/1~2012/12/31をセルの書式設定の ユーザー定義でm"月"d"日"にして、1月1日といったように表示されるようにしています。 任意の日付のセルをクリックで選ぶと、B1、G1、L1、Q1セルに選択した該当のセルの 月のみ入力されるマクロを作りたいですがなかなかできません。どのようなコードを入れた らよいのでしょうか。。例えばA368セルの12月30日をクリックするとB1、G1、L1、Q1に12と 自動で入力されるイメージです。
- ベストアンサー
- オフィス系ソフト
- 自動で採番と日付を入力するマクロ
Sheet1のC列に何かを入力すると、A列に1から番号が振られていき、B列には入力した日付が 入っていくマクロを作りたいです。ご教授教えていただければ幸いです;
- ベストアンサー
- オフィス系ソフト
- 日付自動実行マクロについて質問です。
エクセル2000で日計表を作成しています。 A列には日付のシリアル値が、B列には日付、C列には曜日が入っています。 毎日データを挿入するのはD列からとなります。 そのファイルを開いた時に自動実行マクロでその日のD列にセルを飛ばすのにはどうしたらいいでしょうか? 苦労しています、どなたか詳しい方教えていただけると助かります。
- ベストアンサー
- オフィス系ソフト
お礼
言葉足らずで申し訳ありません。 仕事で使いたいなと思っている程度です。別の質問を立てたのでそちらの方で回答して頂けたら嬉しいのですが・・・。もしかしたら、そちらの方もあまり分かりにくいかも?ですが。お返事ありがとうございました。