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


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

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

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

回答の条件
  • 1人3回まで
  • 登録:2006/06/23 02:59:05
  • 終了:2006/06/23 08:46:08

回答(3件)

id:harasima No.1

harasima回答回数128ベストアンサー獲得回数72006/06/23 05:52:59

ポイント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ベストアンサー獲得回数11982006/06/23 06:38:12

ポイント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

llusall回答回数505ベストアンサー獲得回数612006/06/23 07:31:01

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません