
仕事でエクセルを使う事が多く、特に列、行がたくさんある一覧を表を日常業務で使っています。そこで選択セルの行全体が色付けされるような仕組みを作りたく。(イメージ的には、今触っているセルがどの行なのか目で追い易くする感じです)このようなマクロを作りました。ただ、これでは元々色が付いているセルの色が、色無しに変化してしまう為、使えません。使っている表の元々の色を変化させずに、色で簡単に行全体を目で追えるようにするにはどうしたら良いでしょうか?本当に申し訳ないですが、わかる方いらっしゃいましたら、ご教授お願い致します。
Public m
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If m <> 0 Then
Range(Cells(m, 1), Cells(m, 256)).Interior.ColorIndex = xlNone
End If
Range(Cells(Target.Row, 1), Cells(Target.Row, 256)).Interior.ColorIndex = 6
m = Target.Row
End Sub
No.5ベストアンサー
- 回答日時:
定番のリンク先として
『アクティブセルのある行・列を目立たせる』
http://www.relief.jp/itnote/archives/001406.php
があります。条件付き書式と組み合わせる手法です。
LineShapeについては
http://oshiete1.goo.ne.jp/qa2301115.html
のNo.5のご回答が完成度が高いと思います。
『アクティブセルのある行・列を目立たせる』拝見しました。
こんな方法があったなんて。すごいとしか言い様がないです。
ありがとうございました。
No.4
- 回答日時:
No.1です。
えっと・・・
「元々ある表に色が付いている行があります。それを選択した時は
黄色になります。他の行を選択したらもともとの行の色を戻したい」
ということですか???
Public m, n
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If m <> 0 Then
Range(Cells(m, 1), Cells(m, 256)).Interior.ColorIndex = n
End If
m = Target.Row
n = Target.Interior.ColorIndex
Range(Cells(Target.Row, 1), Cells(Target.Row, 256)).Interior.ColorIndex = 6
End Sub
No.3
- 回答日時:
No.1です。
コメントというのは'(シングルコーテーション)をつけることです。
'If m <> 0 Then
と書いた場合、この処理は無視されます。
再度この処理を行いたいと思ったら'を外せば良いので
処理自体を削除するのではなく、コメントにしたほうが
後々楽です。
なるほど。ただ今やってみましたが、どうもうまくいきません。
色が付いて元に戻らないです・・なんとも難しい依頼で申し訳ありません。
No.2
- 回答日時:
色をつける前に、もとの色を控えておいて後で元に戻すというのが通常でしょうが、1行全部が同じ色でないとすると、256セル分色を記録して・・・というのもちょいと面倒ですね。
一応、この方法でも対応可能だと思われますし、対象を表示中のセルに限定すれば、処理を減らせるので速度も向上すると思われます。
一方、ご質問の内容を読むと、必ずしもセルの色を変えなくても、横にガイドとなる色ものがあれば良いとも考えられますので、以下のようなアイデアではいかがでしょうか。
(セルをいじらないでガイドを作ることを考えて見ました)
オートシェイプなどで枠線のみ(中を透明にしておけば下にあるセルの選択が可能)にして、太線で色をつけたものを用意。印刷しないなどの設定をしておく。
シートチェンジ時にセル高さ、表示幅に合わせてシェイプの高さ、幅を設定し、対象行の画面左端に合わせて表示する。
(高さはプラスアルファしておいたほうが良いかも)
操作時に間違って、枠線をクリックすると枠線が選択されてしまいますので、このシェイプには「選択解除して戻す」だけのマクロを設定しておくなどすると良いかも。
あと、画面を横スクロールしたときに、シェイプがついてゆくようにする必要があるのかも・・・
No.1
- 回答日時:
こんにちは。
どうやら、選択された際に現在の行と前に選択された行の比較を行っているようなので、その処理を行っている
If m <> 0 Then
Range(Cells(m, 1), Cells(m, 256)).Interior.ColorIndex = xlNone
End If
の部分をコメントにすれば、元々色がついているセルはそのままです。
というのが欲しい答えでしょうか?
早速のご回答ありがとうございます。おっしゃる通りです。
ただ、コメントにするというのはどういう事でしょうか?勉強不足で申し訳ありません。ご教授お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) VBAで重複した値のセルに色付けをしたい 1 2022/11/02 16:12
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報