WBSの作成過程において、予定を条件付き書式で日付を入れると対象のセルの色付けができました。
実績は、色付けではなく日付を入力すると、対象のセルに矢印を引く使用にしたく、
色々と調べてみましたが、エラーメッセージ「オブジェクト変数または with ブロック変数が設定されていません」
と出てしまいます。何がおかしいのかわからず、ご教授いただきたいです。
以下、コードです。
Sub 矢印作成()
Dim rng1 As Range Dim dt As Range Dim rng2 As Range Dim r As Long Dim foundCell1 As Range Dim startCol As Long Dim foundCell2 As Range Dim endCol As Long Dim shp As Range '図形 Set rng1 = ActiveSheet.Range(Range("AZ5"), Range("AZ5").End(xlToRight)) ' 日付入力範囲 Set dt = ActiveSheet.Range("AW1") ' 今日の日付入力セル For Each rng2 In ActiveSheet.Range(Range("AK7"), Range("AK7").End(xlDown)) ' 開始日入力範囲 r = rng2.Row ' 開始日・終了日入力セルの行番号 Set foundCell1 = rng1.Find(rng2, , xlFormulas, xlPart) ' 開始日で検索した時の該当セル startCol = foundCell1.Column ' 検索該当セルの列番号 If rng2.Offset(0, 1) = "" Then ' 終了日が空欄の場合 Set foundCell2 = rng1.Find(dt, , xlFormulas, xlPart) ' 今日の日付で検索した時の該当セル endCol = foundCell2.Column '検索該当セルの列番号 Else ' 終了日が空欄ではない場合 Set foundCell2 = rng1.Find(rng2.Offset(0, 1), , xlFormulas, xlPart) ' 終了日で検索した時の該当セル endCol = foundCell2.Column '検索該当セルの列番号 End If Range(Cells(r, startCol), Cells(r, endCol)).Select Set shp = Selection ' 開始日から終了日までのセル範囲 With ActiveSheet.Shapes.AddLine(shp.Left, shp.Top + shp.Height / 2, _ shp.Left + shp.Width, shp.Top + shp.Height / 2).Line .ForeColor.RGB = RGB(255, 0, 0) ' 線の色 .Weight = 3 ' 線の太さ .EndArrowheadStyle = 2 ' 線の終点のスタイル End With Next rng2
End Sub
回答1件
あなたの回答
tips
プレビュー