• ベストアンサー

カレント行の特定の列のセルの値を表示させたい

Excel2002で縦に数百行、横に20列ほどの商品リストがあります。 目指す行はオートフィルタで抽出できますが、この時画面に表示しきれない離れた列のデータを見たいことが結構あります。 「カレントセルがある行のn列目を常にA1セルに表示させる方法」をお教えください。 =INDIRECT(ADDRESS(CELL("row"),13)) =CELL("contents",INDIRECT(ADDRESS(CELL("row"),13))) 等では、カレントセルを選択するだけでは表示してくれず、何か入力してEnterとかTABキーを押さないと結果に反映されません。 クリックした後でF9キーを押して再計算するのは間違いの元ですので、できればクリックした瞬間に結果を出したいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

関数では,そういう事をできる方法はありません。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_selectionchange(byval Target as excel.range) range("A1") = activecell.value end sub もしくはたとえばN列を表示したいなら private sub worksheet_selectionchange(byval Target as excel.range) range("A1") = cells(activecell.row, "N").value end sub もしくはたとえばB1に「T」と記入した列を表示したいなら private sub worksheet_selectionchange(byval Target as excel.range) on error resume next range("A1") = cells(activecell.row, range("B1").value) end sub ファイルメニューから終了してエクセルに戻り,セルを選んでみる。

noname#146898
質問者

お礼

ありがとうございます。 目的は >たとえばN列を表示したいなら のプロシージャで解決しました。 >たとえばB1に「T」と記入した列を表示したい についても今後の参考になりそうです。 マクロについては少しだけマクロの記録を使ったことがあるだけで、worksheet_selectionchange などのイベントで起動するマクロについてはまったく考えつくことが出来ませんでした。感謝します。

その他の回答 (1)

回答No.2

まったく「オカド違い」かも知れませんが。単に > 画面に表示しきれない離れた列のデータを見たい なら「ウィンドウ枠の固定」や「ウィンドウの分割」を使って工夫すれば良いだけの様な気がします(^^; http://www.nbcom.co.jp/PC-Support/FAQ/xls/ht/xls122001ht006.shtml http://kokoro.kir.jp/excel/window-frame-fixation.html

noname#146898
質問者

お礼

申し訳ありません。 常にカレントセルがある行のn列目を見たいので、「ウインドウ枠の固定」や「ウインドウの分割」ですと、視線の移動方向が縦と横の二回にわたることになり、効率が良くないと考えたのです。すみません。