0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【VBA】クリックしたセルの色を変える方法

Last updated at Posted at 2021-04-09

今回は、クリックしたセルの色を変える方法です。

何に使えるの??って感じですが、書いていきますw

↓実演動画
https://youtu.be/TNX0Du5tvKE

今回は、シート名の右クリックして、「コードの表示」をクリックしてください。
今回は、その中にコードを書いていきます。
コードの表示.png

ソースコードは下記の通りです。


'ダブルクリックの処理
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    Target.Interior.Color = vbRed
 
 End Sub
 
  '右クリックの処理
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 
    Target.Interior.Color = vbGreen
 
 End Sub

'左クリックの処理
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column > 9 Then Exit Sub
    
    Select Case Target.Interior.ColorIndex
    Case Is = xlNone
        Target.Interior.ColorIndex = 5
    Case Else
        Target.Interior.ColorIndex = xlNone
    End Select

End Sub

詳細を説明します。

①ダブルクリックの判定

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

ダブルクリックの判定には、「Worksheet_BeforeDoubleClick」プロシージャを使用します。

Worksheet_BeforeDoubleClickについては、下記のサイトが参考になると思います。
https://vbabeginner.net/detect-cell-double-clicks/

Target.Interior.Color = vbRed

Targetには、ダブルクリックされたセルの位置が入っていますので、そのセルの色を赤色に変更しています。

②右クリックの判定

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

右クリックの判定には、「Worksheet_BeforeRightClick」プロシージャを選択します。

Worksheet_BeforeRightClickについては、下記のサイトが参考になると思います。
https://vbabeginner.net/worksheet_beforerightclick/

Target.Interior.Color = vbGreen

Targetには、右クリックされたセルの位置が入っていますので、そのセルの色を緑色に変更しています。

③左クリックの判定

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

左クリックの判定には、「Worksheet_SelectionChange」プロシージャを使用します。

Worksheet_SelectionChangeについては、下記のサイトが参考になると思います。
http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040727.html

If Target.Column > 9 Then Exit Sub

これは、反映する範囲を制御するために書いてます。
列の10行目以降のセルを選択した場合は、処理を終了しています。


Select Case Target.Interior.ColorIndex
    Case Is = xlNone
        Target.Interior.ColorIndex = 5
    Case Else
        Target.Interior.ColorIndex = xlNone
End Select

Case文で、クリックしたセルが塗りつぶし無しであれば、ColorIndexで番号を指定して色を変更し、それ以外であれば、塗りつぶし無しに変更しています。

以上が、クリックしたセルの色を変える方法でした。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?