B1のセルからY3のセルまでの表を作っています。
やりたいことは、表の左のA列
例えばA1をWクリックで、B1からY1までに色をつける、もう一度Wクリックで元に戻す。
というのと、
表の中のそれぞれのセル、
例えばB1をWクリックしたら、色をつける、もう一度Wクリックで色を元に戻す
という両方です。
片方ずつなら、なんとかできるようになったのですが、
上記の2つを同時に組み込む組み合わせ方がわかりません。
どなたかわかる方はいらっしゃいますか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
worksheetイベントなので、発動したいシートに記入をして下さい
「色をつける」を「塗りつぶしをする」と解釈したので、文字色はそのままです。
文字色のみ変更をしたいのであれば、適宜修正してください
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Column = 1) And (Target.Row <= 3) Then
If Cells(Target.Row, 2).Interior.ColorIndex = xlNone Then
Range(Cells(Target.Row, 2), Cells(Target.Row, 25)).Interior.Color = RGB(120, 60, 0)
ElseIf Cells(Target.Row, 2).Interior.ColorIndex <> xlNone Then
Range(Cells(Target.Row, 2), Cells(Target.Row, 25)).Interior.ColorIndex = xlNone
End If
ElseIf (1 < Target.Column) And (Target.Column <= 25) And (Target.Row <= 3) Then
If Cells(Target.Row, Target.Column).Interior.ColorIndex = xlNone Then
Cells(Target.Row, Target.Column).Interior.Color = RGB(0, 120, 60)
ElseIf Cells(Target.Row, Target.Column).Interior.ColorIndex <> xlNone Then
Cells(Target.Row, Target.Column).Interior.ColorIndex = xlNone
End If
End If
End Sub
No.1
- 回答日時:
こんばんは!
ダブルクリックがA列の場合はB~Y列すべてに適応し、
B~Y列の場合は対象セルだけに適応すれば良いのですね?
A列をダブルクリックした場合、B~Y列に一つでも色付きセルがあった場合はすべてのセルの塗りつぶしをなくすようにしています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim j As Long, myFlg As Boolean
If Intersect(Target, Range("A:Y")) Is Nothing Then Exit Sub
Cancel = True
With Target
If .Column = 1 Then
For j = 2 To Range("Y1").Column
If Cells(.Row, j).Interior.ColorIndex <> xlNone Then
myFlg = True
Exit For
End If
Next j
With Range(Cells(.Row, "B"), Cells(.Row, "Y"))
If myFlg = True Then
.Interior.ColorIndex = xlNone
Else
.Interior.ColorIndex = 6 '//←黄色にしています//
End If
End With
Else
If .Interior.ColorIndex = xlNone Then
.Interior.ColorIndex = 6
Else
.Interior.ColorIndex = xlNone
End If
End If
End With
End Sub
※ 色は「黄色」に統一しています。
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) 【マクロ】マクロボタンをクリックしたら、セルに OK と表示される 3 2023/08/18 07:37
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- その他(Microsoft Office) エクセルに関しての質問 2 2022/06/25 18:40
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Excel(エクセル) エクセルで日付が入っているセルを一定の法則に従って違うセルに表示したい 2 2022/04/04 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
エクセル1行おきのセルを隣の...
-
エクセルで、指定の値よりも大...
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
自分の左隣のセル
-
条件付き書式の色付きセルのカ...
-
エクセルで特定のセル内にだけ...
-
【Excel】IF文「ある文字を含ん...
-
エクセルで年月日から月日のみへ
-
エラー「#REF」の箇所を置き換...
-
EXCELでマイナス値の入ったセル...
-
【Excel】4つとばしで合計する方法
-
同一セル内の重複文字を削除し...
-
週の労働時間を計算するエクセル
-
エクセルで、A2のセルにA3...
-
セルを結合した時のエクセル集...
-
Excelで大量のセルに一気に関数...
-
エクセル 平日と土日祝の時間...
-
EXCELのcountif関数での大文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
エクセル1行おきのセルを隣の...
-
エクセルで、指定の値よりも大...
-
自分の左隣のセル
-
セルを結合した時のエクセル集...
-
Excelで大量のセルに一気に関数...
-
エクセルで、A2のセルにA3...
-
excelで、空白を除いてデータを...
-
エクセルで特定のセル内にだけ...
-
週の労働時間を計算するエクセル
-
エクセルで年月日から月日のみへ
-
条件付き書式の色付きセルのカ...
-
EXCELのcountif関数での大文字...
-
EXCELでマイナス値の入ったセル...
-
エクセルに入力後、別シートの...
-
【Excel】4つとばしで合計する方法
-
同一セル内の重複文字を削除し...
-
エクセルでエンターを押すと任...
-
エラー「#REF」の箇所を置き換...
おすすめ情報