- ベストアンサー
セルを選択した場合だけ表示する方法
Window 7でExcel 2010を使用しております。 列を選択し、右クリックで非表示(H)やパスワードを入力して表示する方法以外で、 セル選択時以外は空欄に見える方法はあるのでしょうか。 文字の色を白くしてセルを選択時に数式バーに表示する方法以外でご存じであれば お願いいたします。 文字の色を白くして見えなくなるようにして、選択したときのみ文字に色がつく方法でも構いません。 セルを複数選択すると薄く見えるようになりますが、単独で選択した場合に見えるようにしたいのです。 単純なことで大変申し訳ございませんが、ご存知の方がいらっしゃいましたらご教示ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
列を選択し、フォントの色を白にしておく 列を選択し、条件付き書式▼から新しいルールを開始する 数式を使用して…を選び、下の空欄に =(CELL("Row")=ROW())*(CELLS("Col")=COLUMN()) と記入して、フォントの色を黒にする シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_SelectionChange(byval Target as excel.range) application.screenupdating = true end sub ファイルメニューから終了してエクセルに戻る セルを選択する。 #参考 条件付き書式の数式を =CELL("Row")=ROW() だけにしておくと、アクティブセルと同じ行で内容が表示されます。
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.3です! たびたびごめんなさい。 >単独で選択した場合に見えるようにしたいのです の部分を見逃していました。 ↓のコードに変更してください。 (前回同様A1~H20セル範囲としています) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myArea As Range Set myArea = Range("A1:H20") If Application.Intersect(Target, myArea) Is Nothing Then Exit Sub If Target.Count = 1 Then myArea.Font.ColorIndex = 2 Target.Font.ColorIndex = xlAutomatic Else Target(1).Select MsgBox "複数セルは選択不可です", vbCritical Exit Sub End If End Sub どうも失礼しました。m(_ _)m
お礼
既にベストアンサーを付けてしまいましたが、 こちらのコードでも使用できました。 完璧なご回答ありがとうございます。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 仮にA1~H20セル範囲に適用させるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストして、A1~H20セルを選択してみてください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'この行から Dim myArea As Range Set myArea = Range("A1:H20") '←ここで範囲を指定! If Application.Intersect(Target, myArea) Is Nothing Then Exit Sub myArea.Font.ColorIndex = 2 Target.Font.ColorIndex = xlAutomatic End Sub 'この行まで ※ 条件付書式が設定してあると色が変化しませんので、 条件付書式の設定は「なし」にしておいてください。m(_ _)m
お礼
ありがとうございます。 範囲を指定した方法も使用させていただきたいと思いますので、 非常に参考になりました。
- Cupper-2
- ベストアンサー率29% (1342/4565)
コメントをセルに挿入するのはダメ? コメントならセルの右上に赤いマークが付くだけです。 セルそのものには値は入らず、表示されることはありません。 セルを選択するとコメントが吹き出しのように表示されます。 ですが、数式の結果をコメントに反映させることはできませんので悪しからず。
お礼
当初はコメントも考えましたが、入力の手間がかかるため、上記の方法を使用させていただくことにしました。 ご回答ありがとうございます。
お礼
最初に挙げていただきました、 =(CELL("Row")=ROW())*(CELLS("Col")=COLUMN()) では、何故か表示されなかったのですが、 =CELL("Row")=ROW() で適応されました、さっそく利用させていただきます。 ご回答ありがとうございました。