スポンサードリンク

ExcelVBA
ExcelVBA

仕事でスケジュールを管理するために

カレンダーをエクセルで作ったのですが、

今日の項目をすぐ見つけられるように

線を作成して

その線がファイルを開くと

自動で今日の日付のセルに移動するというものを

作ってみました。

スポンサードリンク

作ってみたVBA

スケジュール
スケジュール

まず、初めに

ファイルを開いた時にVBAが起動してほしいため

以下のVBAを【ThisWorkbook】の中の

【Workbook】の【Open】に記載します。

ThisWorkbook
ThisWorkbook
Dim C As Integer '列番号
Dim ToDay As Date '本日の日付

'今日の日付を取得
ToDay = Date
Worksheets(1).Activate
Set FoundCell = Rows(1).Find(What:=DateValue(ToDay), LookIn:=xlFormulas) '1行目で日付を選択
FoundCell.Activate '日付のセルを選択
C = ActiveCell.Column '列番号を取得
With ActiveSheet.Shapes("本日")
    .Top = Cells(1, C).Top
    .Left = Cells(1, C).Left + 15
End With '線を移動

'スケジュールの一番上に戻る
Worksheets(1).Activate
Range("A1").Activate

また、このVBAを起動するために

作成した線の名前を【本日】にします。

名前付け
名前付け

図形に名前を付けておかないと

VBA側で図形を指示できないためです。

こうすると、ファイルを開いた時に

今日の日付が記載しているセルに

線の図形が移動してくれます。

スポンサードリンク