[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロでら来月、先月の日を表示』(初心者9371)
TODAY関数でA1セルに本日の日付が表示して
あります。
「→」「←」ボタンで+1月、−1月の日付を
B1セルに表示したいと思っています。
よくWEB上のサイトで申し込みする際に
カレンダの画面の月の切替がありますが
ボタンを押す度に月が変更(+1、−1)されるよ
うにするにはどのようなマクロをボタンに設定すればいいで
しょうか。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
よくあるのはボタンを押すたびに進んでいく、あるいはさかのぼっていくというもので 今回は、何度押しても、A1 の翌月、A1 の前月 ということで、1回しか変わらないということでいいのですね?
以下の2つのマクロを統合して、2つのボタンに同じマクロを登録する方法もありますが、とりあえず。
先月用ボタンには
Sub LastM() Range("B1").Value = DateAdd("m", -1, Range("A1").Value) End Sub
来月用ボタンには
Sub NextM() Range("B1").Value = DateAdd("m", 1, Range("A1").Value) End Sub
とか。
★もし、どんどんかわっていってほしいなら、↑のマクロの B1 を A1 に。 結果は B1 ではなく A1 の日付が上書きされますけど。
(β) 2016/06/18(土) 07:49
もう1つコメントしておきます。
通常は、あるセルに、基準日(たとえば今日)をセットしていき、それを進めたり戻ったりさせながら 日付を決定する仕様ですね。ですから、日付欄は A1,B1 ではなく 1つだけ。 もちろん、A1には常に、基準日、B1には変化させたものを表示する仕様もあります。
この場合、最初は、B1 には 基準日と同じものをセットしておく、あるいは 空白にしておく ということが必要でしょうね。 しかも、この 【最初】というものが、いつなのか、これは 初心者9371さんが明確に決めなければいけません。
ほんとの最初で、日付を 2016/9/18 にした。 で、『ブックを保存した』 次にブックを開いた。その時の日付の始まりを 2016/9/18 にしたいのか、あらためて その日の日付にしたいのか。
保存後、同じ日に開いたときにはどうしたいのか、別の日に開いたときはどうしたいのか。
そういう【シナリオ】を十分に検討して仕様を決定してください。
それによって、その仕様にあわせた「最初の設定」というものを別途行うことが必要です。
(β) 2016/06/18(土) 08:31
もう1例。
B1が空白なら A1 の値を基準に、B1に、すでに日付が入っていたら B1 の値を基準に 結果を B1 に表示します。
いずれにしても、このマクロを使う業務の流れをよく検討して適切なシナリオを作成するのが先決だと思います。
Sub LastM() Dim d As Date If IsDate(Range("B1").Value) Then d = Range("B1").Value Else d = Range("A1").Value End If Range("B1").Value = DateAdd("m", -1, d) End Sub
Sub NextM() Dim d As Date If IsDate(Range("B1").Value) Then d = Range("B1").Value Else d = Range("A1").Value End If Range("B1").Value = DateAdd("m", 1, d) End Sub
(β) 2016/06/18(土) 09:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.