解決済みの質問
クリックしたセルを操作者に目立たせるために、
ActiveCell を交差する形で、行と列の反転表示を試みています。
例:D6セルをクリックすると、D列と6行を同時に範囲選択させる
Range("D:D,6:6").Select
クリックしたセル番地は、
ActiveCell.Column
ActiveCell.Row
で求まると思うのですが、それから先の処理方法が思い浮かびません。
よろしくお願い致します。
投稿日時 - 2008-05-17 16:39:45
ThisWorkbook モジュールに、
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
With Target
Range(.EntireColumn.Address & "," & .EntireRow.Address).Select
.Activate
End With
Application.EnableEvents = True
End Sub
投稿日時 - 2008-05-17 21:29:55
お礼
スマートな回答ありがとうございます。
まさに私が実現したかった内容です。
お陰でスッキリしました。
投稿日時 - 2008-05-18 06:44:33
6人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(2件中 1~2件目)
反転表示も大変そうなので、ANo.1さんの色表示で正解と思いますが、直前のセル座標を保存するのに、セルにIDという属性があって、値を保存できる事を思い出して使ってみました。A1セルを削除してしまうと、誤動作しますが、出来合の表で、一番端の列・行をいじることは少ないかなと考えます。ご参考まで。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lastAddress As String
'行列ごと選択とか、複数セル選択は対象外としたが、お好みにより変更下さい。
If Target.Cells.Count > 1 Then Exit Sub
lastAddress = ActiveSheet.Range("A1").ID
If lastAddress <> "" Then
ActiveSheet.Range(lastAddress).EntireColumn.Interior.ColorIndex = xlNone
ActiveSheet.Range(lastAddress).EntireRow.Interior.ColorIndex = xlNone
End If
Target.EntireColumn.Interior.ColorIndex = 15
Target.EntireRow.Interior.ColorIndex = 15
ActiveSheet.Range("A1").ID = Target.Address
End Sub
投稿日時 - 2008-05-17 21:22:13
お礼
回答ありがとうございます。
今後の参考にさせて頂きます
投稿日時 - 2008-05-18 06:45:52
質問を見て、かっても同様質問があって、納得のいくように、行かなかった点を思出だした(下記(2))。
この質問では2つ問題を思いました。
(1)列行は全列・全行を色づけるのか?
どちらでもコード上は余り差が無いが。
(2)直前の色づけたものを解除することのやり方。
Targetでは直前の選択セル番地が捉えられない。
次回のクリックまで、その前回情報を引き継がないといけない。
ほかには適当な仕掛けはなさそうだし。PUBLIC変数でもと思ったが。
下記はStaticで下記はこなした。
ーー
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Static t
Static rm
Static cm
If t = 0 Then
Else
Rows(rm).Interior.ColorIndex = xlNone
Columns(cm).Interior.ColorIndex = xlNone
End If
t = t + 1
r = Target.Row
c = Target.Column
Rows(r & ":" & r).Interior.ColorIndex = 6
Columns(c).Interior.ColorIndex = 6
rm = r
cm = c
Application.EnableEvents = True
End Sub
ーーー
浅学のためか、小生の苦労・試行錯誤が詰まってます。
投稿日時 - 2008-05-17 19:54:45
お礼
早速の回答ありがとうございます。
反転表示ばかり考えて、色変更とは思い付きませんでした。
参考にさせて頂きます。
投稿日時 - 2008-05-18 06:42:00
OKWaveのオススメ
おすすめリンク