Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


863 / 13645 ツリー ←次へ | 前へ→

【77881】Private Sub Worksheet_BeforeDoubleClickの複数活用 とく 16/1/17(日) 17:04 質問[未読]
【77882】Re:Private Sub Worksheet_BeforeDoubleCl... β 16/1/17(日) 18:58 発言[未読]
【77883】Re:Private Sub Worksheet_BeforeDoubleCl... とく 16/1/17(日) 19:22 お礼[未読]

【77881】Private Sub Worksheet_BeforeDoubleCli...
質問  とく  - 16/1/17(日) 17:04 -

引用なし
パスワード
   セルをクリックすれば、色が付くというマクロですが、これをA1:A30は、赤で、B1:B30までは青、C1:C30までは緑という風にしたいのですが、うまく出来ません。
下記では、1色(1エリア)はできるのですが、、、、、
当方、初心者です。教えて下さい。
よろしくお願い申し上げます。。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 3
Else
Target.Interior.ColorIndex = xlNone
End If
Cancel = True
End Sub

【77882】Re:Private Sub Worksheet_BeforeDouble...
発言  β  - 16/1/17(日) 18:58 -

引用なし
パスワード
   ▼とく さん:

たとえば以下。
なお、指定領域内であっても、間違ったセルをダブルクリックして色を付けた。
しまった!!
という場合に、再度、そのセルをダブルクリックすれば色が消えるようにしてあります。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim myColor As Long
  
  If Not Intersect(Target, Range("A1:A30")) Is Nothing Then
    myColor = vbRed
  ElseIf Not Intersect(Target, Range("B1:B30")) Is Nothing Then
    myColor = vbBlue
  ElseIf Not Intersect(Target, Range("C1:C30")) Is Nothing Then
    myColor = vbGreen
    
  End If
  
  If myColor = 0 Then Exit Sub
  
  Cancel = True
  
  If Target.Interior.ColorIndex = xlNone Then
    Target.Interior.Color = myColor
  Else
    Target.Interior.ColorIndex = xlNone
  End If
  
End Sub

【77883】Re:Private Sub Worksheet_BeforeDouble...
お礼  とく  - 16/1/17(日) 19:22 -

引用なし
パスワード
   ▼β さん:
ありがとうございます。
出来ました。

感謝、感謝、感謝です。

本当にどうもありがとうございました。

また、分からないことがあったらよろしくお願いいたします。

                         とく

863 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free