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/15)
(10/28)
(10/26)
(10/16)
(10/05)
最新トラックバック
プロフィール
HN:
erokazu
性別:
非公開
ブログ内検索
最古記事
(08/19)
(08/21)
(08/23)
(08/25)
(08/26)
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
'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
この記事にコメントする