入力されている日付を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」と増減させたい値にします。
図形の名前は、[選択と検索]-[オブジェクトの選択と表示]から確認・変更できます。
図形を右クリックして、[マクロの登録]から上記マクロを登録します。