忍者ブログ
2025.05│ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Windowsあれこれ、サービス・SWあれこれ、会計・経理あれこれ、いまさら生活雑学、いまさら都市伝説などなど。
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新コメント
[11/12 でら]
[09/24 えろかず]
[09/23 空飛ぶ龍]
[09/05 えろかず]
[08/29 アシシ@上海]
最新トラックバック
プロフィール
HN:
erokazu
性別:
非公開
バーコード
ブログ内検索
2025年05月15日 (Thu)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2008年10月26日 (Sun)
VBAについて教えて!なんて声をちらほらと聞きまして。
ということで、日付型変数を操作する自作の便利関数を紹介。

ご自由にお使い下さい。↓↓↓

'--------------------------------------------------------
'YYYYMMDD形式の文字列変数を日付型変数に変換する関数
'--------------------------------------------------------
Public Function ToDateFromYMD(Val_Str As String) As Date
Dim Val_Year, Val_Month, Val_Day As Integer

Val_Year = Left(Val_Str, 4) '[YYYY]を抽出
Val_Month = Left(Right(Val_Str, 4), 2) '[MM]を抽出
Val_Day = Right(Val_Str, 2) '[DD]を抽出

ToDateFromYMD = DateSerial(Val_Year, Val_Month, Val_Day)
End Function

'--------------------------------------------------------
'指定された日付をYYYYMMDD形式の文字列に変換する関数
'--------------------------------------------------------
Public Function ToYMDDate(Val_Date As Date) As String
Dim Val_Year, Val_Month, Val_Day As Integer

Val_Year = Year(Val_Date) '[YYYY]を抽出
Val_Month = Month(Val_Date) '[MM]を抽出
Val_Day = Day(Val_Date) '[DD]を抽出

ToYMDDate = Val_Year & Val_Month & Val_Day
End Function

'--------------------------------------------------------
'指定された日付の月の初日を返す関数
'--------------------------------------------------------
Public Function GetFirstDate(Val_Date As Date) As Date
Dim Val_Year, Val_Month, Val_Day As Integer

Val_Year = Year(Val_Date) '[YYYY]を抽出
Val_Month = Month(Val_Date) '[MM]を抽出
Val_Day = 1 '[DD]を指定

GetFirstDate = DateSerial(Val_Year, Val_Month, Val_Day)
End Function

'--------------------------------------------------------
'指定された日付の月末日付を返す関数
'--------------------------------------------------------
Public Function GetLastDate(Val_Date As Date) As Date
Dim Val_NextDate, Val_LastDate As Date

Val_NextDate = DateAdd("m", 1, GetFirstDate(Val_Date)) 'Val_Dateの翌月の1日日付を格納
Val_LastDate = DateAdd("d", -1, Val_NextDate ) 'Val_Dateの翌月の1日日付から1日減算

GetLastDate = Val_LastDate
End Function

'--------------------------------------------------------
'日付から曜日を返す関数
'--------------------------------------------------------
Public Function GetWeekday(Val_Date As Date) As String
Select Case Weekday(Val_Date)
Case 1
GetWeekday = "日"
Case 2
GetWeekday = "月"
Case 3
GetWeekday = "火"
Case 4
GetWeekday = "水"
Case 5
GetWeekday = "木"
Case 6
GetWeekday = "金"
Case 7
GetWeekday = "土"
End Select
End Function
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
←No.32No.31No.30No.29No.28No.27No.26No.25No.24No.23No.22
Pick UP!