
No.3ベストアンサー
- 回答日時:
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
No.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
No.1
- 回答日時:
質問を見て、かっても同様質問があって、納得のいくように、行かなかった点を思出だした(下記(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
ーーー
浅学のためか、小生の苦労・試行錯誤が詰まってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセルで特定の文字列が入っ...
-
【Excel】列と行の最後尾にジャ...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
エクセルVBA 最終行を選んで並...
-
EXCEL VBA マクロ 別シートの...
-
エクセルマクロ オートSUM(合...
-
【Excel関数】UNIQUE関数で"0"...
-
完全一致したら代入するマクロ...
-
セルに値が入力されると隣りの...
-
VBAで色の付いているセルの行削除
-
エクセル マクロ オートフィ...
-
サイズの違うセル 並べ変え
-
Excel 時刻の並び替え
-
エクセルの列幅以上の文字列を...
-
EXCELマクロを使い、空白行では...
-
xls:CopyFromRecordset罫線描写
-
エクセル マクロで数値が変っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
【Excel関数】UNIQUE関数で"0"...
-
Excel グラフのプロットからデ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
excel 小さすぎて見えないセル...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excelのフィルター後の一番上の...
-
エクセル マクロ オートフィ...
-
Excelで非表示のセルをとばして...
-
エクセルで特定の文字列が入っ...
-
罫線の斜線を自動で引くマクロ
-
A1に入力された文字列と同じ文...
-
エクセルVBA 最終行を選んで並...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
Excel 時刻の並び替え
-
電話番号の入力方式が違うデー...
-
VBAで色の付いているセルの行削除
おすすめ情報