• 締切済み

エクセル名前ボックス「?R×?C」を表示し続けたい

セルをドラッグして範囲選択した時、名前ボックスに例えば「5R×1C」などと表示されますが、マウスボタンから手を離してもこれがどこかに表示され続けるようにはできないでしょうか? 選択した行数が、手を離した状態でも分かれば良いのですが。 意図しないデータ改変がこわいので、もどかしいですが、A列をすべて空白セルにしておき、A列以外にはできれば触らずに作業したい為、例えばB列のデータを使ってステータスバーの「データの個数」で数える、という方法が使えません。 行を挿入して、数える用のデータを入力しておいて「データの個数」で数える、 というのも考えたのですが、そのデータの入力と、あとでその行を削除する手間が、できれば無いほうがありがたいなと。ただ単純にドラッグして、その行数が表示され続けていれば良いだけなのですが。 できれば飛び飛びで選択しても、その合計数が表示されてくれると、 さらにありがたいです。 例えば「5R×1C」+「5R×1C」=「10R×1C」と表示されてくれれば 完璧なのですが。 お知恵拝借願います!

みんなの回答

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.6

> これで、検索した後にも、選択したセルのハイライトがそのまま残ったり、 > 飛び飛びで選択した時の合計数が出たりするともっと良いのですが。 飛び飛びはNo4でいけると思いますので、選択したセルを選択状態に戻すには、検索結果の一覧で結果をすべて選択すると元の選択された状態に戻ります。

dov
質問者

お礼

おっしゃるとおりできました! Ctrl+AやEscで素早く元に戻れますね。 ありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

質問の書き方がごちゃごちゃして、読む気が起こらない。 もっと、あえて1つのケースに限り、詳細に1ステップごとに、操作者がすることー>人間が読み取ること、->こうなってほしいことを記述したほうがわかりやすい。 セル選択した番地をテキストボックスに表示するぐらいなら、小生程度のレベルのVBAでもできそうだ。  VBAもやったことがない、だろうし、これを採用しろ、ということでなく、VBAを使えば近いことができそうだと思って、あくまで参考に下記を挙げただけです。質問者以外も読んでいるかもしれないと、いつも考えているので。 (1)Sheet1にテキストボックスを1つ張り付ける。 開発タブー挿入ーActiveXグループのTextboxをSheet1にD&D。 (2)そのテキストボックスのプロパティを、標準モジュールに下記を書いて実行し、「改行して複数行の表示を可能」にする。 (標準モジュールに) Sub test01() Worksheets("Sheet1").TextBox1.MultiLine = True End Sub (3)SheetのSelectionChangeイベントに Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Worksheets("Sheet1").TextBox1.Text = "" Worksheets("Sheet1").TextBox1.Text = Target.Address & Worksheets("Sheet1").TextBox1.Text & Chr(13) & Chr(10) End Sub 上記で、どういうことができるか? Sheet1に限り、マウスでセル範囲を選択すると、 テキストボックスに(順次上から)セル番地が$付きの方式で表示される。 ーー 本質問は非常に珍しい課題の質問(ほかの人はあまりそのニーズを感じない?)と思うので、さらなる改善は考える気がしないが、使い勝手の改善が必要だろうとは思う。(不便・不満な事項があると思うが)  全体的に、もしピント外れなら、すみません。

dov
質問者

お礼

ありがとうございます! 読みづらい質問文で誠にすみません、 >あえて1つのケースに限り、詳細に1ステップごとに つい盛り込み過ぎてしまいます、気をつけます。 教えて頂いたやり方をやってみて、 ド初心者のため、まだテキストボックスに 表示される所まではたどりつけていないのですが、 かなり目的に近づけた気がします。 全くピント外れではございません、大変参考になりました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

No2です。 訂正です。 選択範囲が飛び飛びで離れていても合計は出ます。 テストしたときに利用していない下の行範囲が飛び飛びに入ってしまってたので合計されなかったのですが、利用している行範囲で飛び飛びだと大丈夫です。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

代用とはなり得ないかもだけど、… 貴方の左側の添付図で言えば、下記の操作をしてみたら如何かと。 空きセル(例:A20)を選択 ⇒ 式 =ROWS() を入力 ⇒ ()内にマウスカーソルを放り込み ⇒ 範囲 A22:A26 を撫で撫で ⇒ Enterをパシーッ

dov
質問者

お礼

ありがとうございます! なるほどそういう手もありますね。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

検索ですべて検索(検索文字列未入力)を使うと選択したセルの個数がわかります。飛び飛びだと別々に実行して暗算しなくてはいけないのと、利用したセルの行より下では実行できないので希望に添えないかもしれませんが。

dov
質問者

お礼

ありがとうございます! なるほど検索でも数が出ますね。 これで、検索した後にも、選択したセルのハイライトがそのまま残ったり、 飛び飛びで選択した時の合計数が出たりするともっと良いのですが。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

おもしろそうなので考えてみました。 何らかのトリガー[1]で選択行数、選択列数の計算を行う  ・行数・列数の計算(R?C?の表示)   単一セルの場合   矩形のセル領域の場合   複数のセルや矩形のセル・・・行数・列数の計算が必要   行・列が重複していれば二重に計算しない   飛び離れていれば、どう表現する?   シート間の計算はしない  ・どのように出力するか   例えば、決め打ちでA1セルに表示する   コメントを常時表示して、コメントに表示する   セル範囲に名前を付け、名前ボックスに表示?    2種類くらいの名前を使い回す(前回の名前は消し新たに作る)    RCが分かるような範囲名にする(nm_R10C2 のような)  ・出力するタイミング   何らかのトリガー[1]が関係してくる   どのタイミングでセル選択が終わったかExcelには分からない   ところで、選択範囲の累積はいつ止める!!!!!!これが一番?   常時監視しておく必要がある    ShiftキーやCtrlキーを押した場合の対応も必要  ・別のトリガー   直前の選択が表示できたとして、行・列の挿入・削除にどう対応する   全セルを選択したら?   全セルを消去したら?   Ctrl+Zで元に戻したら?   Ctrl+Yでやり直したら?   図形やグラフなどの、セルとは違うオブジェクトを選択したら?  ・いろいろ、解決する問題点が分かったので。トリガー[1]の再検討   一番最初に考え付くのが「Worksheet_SelectionChange」イベント   しかし、これを選択セル範囲の表示に使うとすると、全ての処理   がこの処理を経由する   本当に使いたい「Worksheet_SelectionChange」イベントの足かせ   どこかのセルを選択しただけで、計算ロジックと表示ロジックを   経由する。Excelのパフォーマンスはものすごく落ちるはず   どんなエラーが起きるか保証されない  ・マクロ(VBAとの関係)   このような機能ができたとして、VBAで高速で処理を行なったり、サー   バーやWeb上のExcelとの関係も確認する必要がある。参照を計算したり   表示する機能を止める必要があるでしょう ザっと考えて、このような問題を考え付きました。 結論・・・Microsoftさんお願いします・・・です。

dov
質問者

お礼

ありがとうございます! おもしろがって頂き感謝です、 エクセル初心者のため、いろいろと 勉強になります。

関連するQ&A