
エクセルVBAでダブルクリックしたら色を反転させたのですが、
指定していないセルはダブルクリックしてもこのVBAは発動させたくないので
発動させるセルの指定方法を教えてください。指定するセルは複数個所あり点在しています。
また、下記のコードでもう少し簡素化できるところがあればご指導ください。
宜しくお願いいたします。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'背景反転
With Target.Interior
If .ColorIndex = xlNone Then
.Color = vbBlack
Else
.Color = xlNone
End If
End With
Cancel = True
'文字反転
With Cells(Target.Row, Target.Column).Font
If .Color = vbBlack Then
.Color = vbWhite
ElseIf .Color = vbWhite Then
.Color = vbBlack
End If
Cancel = True
End With
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
>発動させるセルの指定方法を教えてください
一番最初に「指定範囲内にあるかどうか」を判断するようにすれば良いでしょう。
以下では、いかがでしょうか?
※ 対象とする範囲を、変数 targetArea として、通常の文字列で指定しておきます。
(例では、D10:E11、H12:I14、J6:K7 の三か所になっています)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const targetArea = "D10:E11,H12:I14,J6:K7" ' 指定範囲
If Intersect(Target, Range(targetArea)) Is Nothing Then Exit Sub
Cancel = True
With Target.Interior
If .ColorIndex = xlNone Then .ColorIndex = vbBlack _
Else .ColorIndex = xlNone
End With
With Target.Font
If .Color = vbBlack Then .Color = vbWhite
If .Color = vbWhite Then .Color = vbBlack
End With
End Sub
ご丁寧にありがとうございます!VBA初心者なので助かります。
しかし試してみたのですが、指定したセルだけ反応は違うのですが色が反転しません?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ダブルクリックでセルの色を変える 1 2022/12/24 15:52
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセル VBAについて 2 2022/05/16 16:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル、マクロで番号を読込...
-
(印)という文字を読み込みたい。
-
エクセル VBA
-
エクセルVBA 配列からセルに「...
-
Excel UserForm の表示位置
-
-1 のセルだけ色付け
-
Excel VBAでCheckboxの名前を変...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
VBAの質問です! 転記元のセル...
-
数式バーに表示される値(文字...
-
複数範囲のCOUNTIF
-
Excel VBAにて、セルのコピー範...
-
VBAでのCSV保存
-
セル範囲を返す関数
-
VBAで、FIND NEXTの検索について
-
ACCESSのフォームで[条件付き...
-
Excel VBA 同じ処理を複数回行...
-
エクセルの式の代入
-
【VBA】写真の貼り付けコードが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
複数指定セルの可視セルのみを...
-
C# DataGridViewで複数選択した...
-
【Excel VBA】マクロで書き込ん...
-
データグリッドビューの結合セ...
-
DataGridViewのフォーカス遷移...
-
Excel 範囲指定スクショについ...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
【VBA】写真の貼り付けコードが...
-
QRコード作成マクロについて
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
エクセル、マクロで番号を読込...
おすすめ情報