質問: RGB(255, 255, 255) '枠線の色を指定 End With Next i '次の行へ End With End Sub ``` ### 試したこと 上記のコードで実行しています。 インターネットで見たサンプルを参考にしました。 現在の実行後の画面です。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/3c737f6dc9528e62783df44c000735fa.png) ### 補足情報(FW/ツールのバージョンなど)
回答: > > 開始日と終了日が入力されている行のみ塗りつぶしを行いたい。 > > > Forループの中の処理を開始日と終了日が入力されているときのみ処理するようにすればよいと思います。 ``` For i = 2 To rowEnd If Not IsEmpty(.Cells(i, 4)) And Not IsEmpty(.Cells(i, 5) Then ' 追加 ~省略~ End If ' 追加 Next i '次の行へ ``` > > ボタンを押さなくても入力後エンターキーで実行できるようにする方法があるのかどうか。 > > > ワークシートのChangeイベントで処理すればよいかと思います。 以下はD列E列を変更したときのみガントチャート描写関数を実行します。 ``` Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("D:E")) Is Nothing Then Call ガントチャート描写 End If End Sub ```