hiko-blog

VBA業務改善

MENU

ワークデイ関数を使って指定した日付の前日を計算

Sub 前日の日付を計算してセルに入力()
    Dim 検索日 As Date
    Dim 前日 As Date
    Dim フォーマット済み日付 As String
    Dim 休みの日 As Range
    
    ' セルA1に入力された日付を取得(ここではA1を例示しています)
    検索日 = Range("A1").Value
    
    ' 休みの日をシート2のA列から取得
    Set 休みの日 = Sheets("Sheet2").Range("A:A")
    
    ' 検索日の前日を計算
    前日 = Application.WorksheetFunction.WorkDay(検索日, -1, 休みの日)
    
    ' yyyymmdd形式に日付をフォーマット
    フォーマット済み日付 = Format(前日, "yyyymmdd")
    
    ' セルA2に前日の日付を入力
    Range("A2").Value = フォーマット済み日付
End Sub