人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: kitatom
●カテゴリ:コンピュータ インターネット
✍キーワード:A1 Excel VBA コード セル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● harasima
●30ポイント

どうでしょうか?

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

◎質問者からの返答

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


2 ● きゃづみぃ
●30ポイント

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

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

とすればいいですよ。

◎質問者からの返答

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


3 ● llusall
●30ポイント

'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 でも同じです。

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ