LoginSignup
1
0

More than 1 year has passed since last update.

Excelでカーソル位置にハイライトをかける

Posted at

ちょっと面白い動きなのと、事務作業に便利なので書いてみます。
セルを移動すると、行・列にハイライトができるマクロです。

↓仕上がりイメージはこんな感じです。
Excel1.jpg

毎回手で張り付けるマクロ箇所と、面倒な設定部分をアドインに組み込んでます。

条件付き書式の設定を自動化してしまう

アドインに以下のプログラムを貼り付けしてください。

Sub 選択したセルのハイライト()

    Dim rngCellArea As Range
    Dim frmSetting As FormatCondition

    Set rngCellArea = Range("A1:ZZ50000")

    Set frmSetting = rngCellArea.FormatConditions.Add(Type:=xlExpression, Formula1:="=OR(CELL(""row"")=ROW(), CELL(""col"")=COLUMN())")
    With Selection.FormatConditions(1).Interior
        .Pattern = xlGray8
        .PatternThemeColor = xlThemeColorDark1
        .ColorIndex = xlAutomatic
        .PatternTintAndShade = -0.249946592608417
    End With
    Selection.FormatConditions(1).StopIfTrue = False

End Sub

withとend withの中身をカスタマイズして、使いやすいデザインにしてください。
マクロの記録でお好みの設定を書き出したものを、入れ込んでしまっても大丈夫です。
内容の説明はそんなに難しいものでないし、覚えるほどのものでもないので省略します。

VBAのWorkbookモジュールに書き込む

Excel2.jpg
使用するブックの「ThisWorkbook」モジュールに以下のプログラムを張り付けてください。
カーソル移動したらアクションしてねーって内容です。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ActiveSheet.Calculate
End Sub

注意点:
Workbookモジュールへの貼り付けはブック毎に行う必要があります。
また、ブック内にマクロを紐づけるので、マクロ有効にして保存しないと動きません。

シートを増やすごとに、最初に書き込んだアドインを実行するだけで、カーソルが移動するようになります。
条件付き書式とシートのマクロをばらすことで、すでに色付けされているセルの設定リセットを回避できます。

遊び程度の簡単なものでごめんなさい。。。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0