質問: マクロのworksheet_changeを使用した日付の設定に付いて教えてください。 試験のスケジュールを管理いたしたく、以下の様なリストを作成しました。 実現したいことは、「試験日1」で日付を指定したら、 「試験結果1」で設定する日付は「試験日1」で指定した日付の翌日からプルダウンで表示したいと思っております。 (例:「試験日1」に10/5を選択したら、「試験結果1」のプルダウンの一番上の日付は10/6以降が表示される) I4:試験日1 J4:試験結果1 K4:試験日2 L4:試験結果2 ※日付のプルダウンリストは別シート「日付リスト」にございます。 ネットで検索をし、色々試して見たのですが、できませんでした。 説明に不足ございましたら、ご指摘願います。 よろしくお願いいたします
回答: サンプルです 対象は I4 セルのみにしています 入力した日付+10日間のリスト入力としています Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$I$4" Then Exit Sub ReDim D_list(10) Dim Lc As Long For Lc = 0 To UBound(D_list) D_list(Lc) = Format(Target + Lc + 1, "m/d") Next With Target.Offset(, 1) With .Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(D_list, ",") End With .Select End With End Sub