日付変更を効率的に : 日付増減ボタンの作成

入力されている日付を1日または7日増減させるマクロを作ってボタン化します。日付の修正は、日にち部分だけ選択して入力するか年からきちんと入力するかですが、どちらも微妙に面倒です。また、「7月2日の1週前倒し」のような計算でミスしたり、年を省いて入力したら翌年になってしまったり…。

多くの日付を書き換えるスケジュール管理シートなどでは、ボタンクリックで処理できるようにすると格段に効率化できます。

日付増減マクロ

Sub DateChg()

    Dim oRng As Range
    Dim nameShp As String
    
    On Error Resume Next
    nameShp = Application.Caller
    If Err.Number <> 0 Then Exit Sub
    On Error GoTo 0
    
    For Each oRng In Selection
        With oRng
            If IsDate(.Value) And Not (.HasFormula) Then
                .Value = .Value + CInt(nameShp)
            End If
        End With
    Next oRng
    Set oRng = Nothing
End Sub

このマクロは、ボタンとして配置した図形から呼び出すことを想定しています。ボタンは複数ですがマクロは一つで対応できます。

If IsDate(.Value) And Not (.HasFormula) で、選択範囲のうち日付が入力されたセルだけを対象にしています。数式による日付は、直接値を変更しないように対象外としています。

呼び出し元の図形の名前で増減させる値を指定する仕組みです。マクロコード内に値を含まないので、汎用的に利用できます。

ボタン用図形の作成とマクロの登録

日付変更ボタン

上のような図形を配置して、図形の名前を「-7」「-1」「+1」「+7」と増減させたい値にします。
図形の名前は、[選択と検索]-[オブジェクトの選択と表示]から確認・変更できます。

図形を右クリックして、[マクロの登録]から上記マクロを登録します。

 

タイトルとURLをコピーしました