プロが教える店舗&オフィスのセキュリティ対策術

質問の意味あいがわからないと思いますが、たとえば、アクティヴセルが
E4だとしたとき、E列と4の行をすべて色をつけたい。
どのようにしたらいいでしょうか?
さらには、アクティブセルが移動するごと(入力セルを移動する)に、
上記で設定した色のまま、色がついた列と行を、移動させるためには、
どうしたらいいのでしょうか?

VBAあるいはマクロなど方法があれば教えてください。

ただし、Exel2007です。

A 回答 (5件)

ThisWorkbookのイベントでやると、どのシートでも実現できる。


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Cells.Interior.ColorIndex = xlNone
Dim i, j As Long
i = Target.Row
j = Target.Column
Rows(i).Interior.ColorIndex = 6
Columns(j).Interior.ColorIndex = 6
End Sub
既存の他セルの色設定も消えてしまう。
直前の列と行に限るコードは組めるが、それでも解決にならない。
反応性もパソコンによってはもうひとつの場合もあろう。
だからVBAでのユーザーのセルの色設定では力不足でしょう。
だから、とりあえずあきらめてください。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。

自分でアドバイスのとおりして、理解できました。

お礼日時:2011/05/15 18:29

ん? マクロとか以前に,条件付き書式を使った事がありませんか。


実際にエクセルを起動して,ちゃんと自分の手を動かして試しながら次の通りに進めてみてください。



>表範囲を選ぶ

あなたがご質問された,選択したセルの行と列に色が付いて欲しいセル範囲を選ぶことです。


>条件付き書式

ホームタブにある「条件付き書式▼」をプルダウンして使い始めることです


>数式を使用して

セルの強調表示ルールからその他のルールを開始すると「数式を使用して書式設定するセルを決定」という選択肢があるので,それを選ぶことです


>=OR(CELL("Col")=COLUMN(),CELL("Row")=ROW())
>と設定し

ダイアログの数式記入欄に,この通りに数式を記入することです。


>選択された行列の色を書式設定しておく

書式ボタンをクリックして,条件付き書式で塗りつぶしの色を設定することです。
「アクティブセルで、縦と横の列に色をつける」の回答画像5
    • good
    • 0
この回答へのお礼

早速の回答 ありがとうございました。

理解できました。

お礼日時:2011/05/15 18:29

時にある質問ですね。


私も検索のシートにはよく使っています。
元々のシートに色を付けていたり条件付き書式を設定したりした場合には
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
With Target
Range(.EntireColumn.Address & "," & .EntireRow.Address).Select
.Activate
End With
Application.EnableEvents = True
End Sub
のコードしかないと思います。
但し、色は自由には選べませんが。
複数のセルを選択した場合でもOKです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2011/05/15 18:30

幾つかの方法が提唱されてきましたが,セルに直接色を塗ってしまうと「目的があって色塗りしたセル」を塗り替えてしまうなどの不都合があります。


現在では,下記の手順がもっともクールだと考えられています。


手順:
表範囲を選ぶ
条件付き書式で「数式を使用して」を使い
=OR(CELL("Col")=COLUMN(),CELL("Row")=ROW())
と設定し,選択された行列の色を書式設定しておく

シート名タブを右クリックしてコードの表示を選び

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate
End Sub

と登録しておく。
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます。

「表範囲を選ぶ
条件付き書式で「数式を使用して」を使い
=OR(CELL("Col")=COLUMN(),CELL("Row")=ROW())
と設定し,選択された行列の色を書式設定しておく」

上記のやり方がわかりません。

お礼日時:2011/05/12 22:49

こんばんは!


一例です。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてみてください。
色は「薄い黄色」にしてみました。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'この行から
Cells.Interior.ColorIndex = xlNone
Dim i, j As Long
i = Target.Row
j = Target.Column
Rows(i).Interior.ColorIndex = 36 '←色は好みによって変更してください。
Columns(j).Interior.ColorIndex = 36
End Sub 'この行まで

尚、複数セルを選択した場合でも選択セルの左上の列・行のみ色が付きます。m(__)m
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

このコードだと、1つのシートのみ対応ですよね?
複数のシートに対応するには、どうすればいいですか?

さらには、このコードを利用して、永久的に使うにはどうすればいいですか?

お礼日時:2011/05/12 22:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!