EXCEL VBAで質問です。コードをずばりご回答ください。


セルA1に日付として、2003/12/1が入力されているとします。

文字列型変数date1に、西暦下2桁+月度2桁(例:0312)
文字列型変数date2に、date1の次月度(例:0401)

をそれぞれ取得するコードをお教えください。
どうぞよろしくお願いします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2006/06/23 08:46:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:harasima No.1

回答回数128ベストアンサー獲得回数7

ポイント30pt

どうでしょうか?

Sub Macro1()

'

' Macro1 Macro

' マクロ記録日 : 2006/6/23 ユーザー名 : harashima '

'

Dim OriginalDate, NextDate As Date

Dim d_y4, d_y2, d_d, Date1, Date2 As String

OriginalDate = Range("$A$1")

d_y4 = Year(OriginalDate)

d_y2 = Right(d_y4, 2)

d_d = Format(Month(OriginalDate), "00")

Date1 = d_y2 & d_d

NextDate = DateAdd("m", 1, OriginalDate)

d_y4 = Year(NextDate)

d_y2 = Right(d_y4, 2)

d_d = Format(Month(NextDate), "00")

Date2 = d_y2 & d_d


End Sub

id:kitatom

どうもありがとうございました。

2006/06/23 08:44:15
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント30pt

date1 = Format(Range("A1"), "yymm")

date2 = Format(DateSerial(Year(Range("A1")), Month(Range("A1")) + 1, "01"), "yymm")

とすればいいですよ。

id:kitatom

いつもありがとうございます。参考になりました。

2006/06/23 08:44:34
id:llusall No.3

回答回数505ベストアンサー獲得回数61

ポイント30pt

'Format関数で日付の書式を設定します。

'DateAdd関数で月をすすめます。

Dim date1 As String

Dim date2 As String

date1 = Format(Range("A1").Value, "yymm")

date2 = Format(DateAdd("m", 1, Range("A1").Value), "yymm")

'※ Range("A1").Value のところは、 Cells(1,1).Value でも同じです。

id:kitatom

いつもありがとうございます。参考になりました。

2006/06/23 08:44:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません