• 締切済み

Excel VBAでスクロールバーから行番号を取得

Excelのワークシートの縦のスクロールバーをクリックすると、行番号が表示されますが、これをVBAで同時に取得できませんか。スクロールバーにはイベントがないことは理解していますが…。特定な行が最上位となったとき、固定枠内のセルを書き換えることを考えています。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

表示されているシートの 表示されているセル範囲の開始行、開始列でよければ、 Sub Sample()  With ActiveWindow   MsgBox (.ScrollRow)   MsgBox (.ScrollColumn)  End With End Sub といったコードで取得できます。

nobsan60
質問者

補足

質問は、縦のスクロールバーをクリックまたは移動したとき、回答のマクロを実行する方法なのです。APIなどを使ってもありませんか。現在、ワークシートの画面をダブルクリックして、次のイベントを使っています。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Row < 36 Then Range("B71:S71").Copy Range("B3:S3") ActiveWindow.ScrollRow = 4 '4行 Else Range("B36:S36").Copy Range("B3:S3") ActiveWindow.ScrollRow = 37 '37行 End If End Sub

関連するQ&A

  • エクセル VBA イベント

    エクセル VBA イベントのプログラミンングで、固定枠を使用中のエクセル画面 において、画面をスクロールバーまたは マウスでスクロールすると  イベントが始まる イベント名を教えてください ワークシートのみでユーザーフォームは使用していません よろしくお願いします

  • Excelである行をスクロールしても見えるようにしたい

    Excelで2000行くらいの大きなデータベースがあります。このシートの10行目にデータベースの見出しがあり、以下の条件の下、スクロールしてもいつもここが表示されるようにしたいですがどのようにすれば可能か教えて下さい。 (条件) ・1行目~9行目にはこのデータベースの使い方が書いてある。 ・10行目にデータベースの見出しが有る。 ・スクロールした時に1~9行目は見えなくなっても構わないが、10行目だけはいつも表示させておきたい。 (知りたいこと) 「ウインドウ枠の固定」機能を使うと上記の条件の場合、1行目~10行目まで固定されてしまう。固定したいのは10行目だけ。(1~9行目は単なる説明なので常時表示する必要が無い。) 特定の行だけの固定方法はあるのでしょうか?VBAを使えば可能でしょうか?

  • excelのスクロールバーが固定されてしまう

    excelで一つのシートのスクロールバーが急に固定されてしまい、解除できなくて、困っています。 どういう状態かといいますと、データが下部まである場合、 通常、データ量によって、縦のスクロールバーの範囲がどんどん小さくなっていくはずですが、 なぜか、データがあるにも関わらず、スクロールバーが小さくなっていないので、 スクロールさせることができず、データの下部はキーボードの↓やPageDown等で セルを移動させなければいけない状態です。

  • Excelで1.2行目だけ固定して3行目以降をスクロールさせたい

    Excelで、スクロールバーを横に移動させても、1・2行目だけは動かずに、3行目以降はスクロールするようにしたいです。 つまり、画面を移動させても、1・2行目(タイトル行というか見出しというか)だけはずっと同じものが表示されて、3行目以下のデータだけがスクロールするようにしたいのですが、できますでしょうか? ウインドウ枠の固定を使ってみたのですが、縦にスクロールした時は1.2行目を表示したままにすることができましたが、横にスクロールすると1.2行目も横に移動して消えてしまいました。 よろしくお願いします。

  • Excel2007 VBA スクロールバー

    ワークシートに対してスクロールバーを配置したいと思っています。 セルのB4からG29までの範囲のみスクロールさせる、といった処理を実現したいのですが可能でしょうか?

  • エクセルの表にスクロールバー

    エクセルのSheet1に、いくつかの表を作っています。 その中のひとつに、縦に長い表があります。 その縦長の表さえ短ければ、画面をスクロールせずに済むので その表だけにスクロールバーをつけたいのです。 ちなみに、H10:AB40にあるその表を、H10:AB27の範囲で表示させたいです。 ウインドー枠の固定では違う表の表示がうまくいかないので、はやりその表だけにスクロールバーをつけたいです。 よろしくお願いします。

  • エクセル横スクロール

    ウィンド枠の固定で先頭行の固定の場合。 マウスで横スクロールすると、 縦も同時にスクロールしてしまいます。 マウスを変えても同様です。 バグでしょうか? エクセル2010です。

  • エクセルのバグ?

    エクセル2010. ウィンド枠の固定で不思議な現象。 シート1、B2セルを選択、ウィンド枠の固定。       (1行目と1列目が固定される)。 シート2、先頭行の固定。 そして、シート2をマウスで横スクロールすると、 あら不思議、縦もスクロール。 縦、横、同時スクロール? これは、バグですか??? 横スクロールで縦もスクロールが仕様なのですか???? 縦と横が同時にスクロールしても、メリットはないですが?

  • 表示されている画面の中央の行番号をマクロで知りたい

    エクセルのVBAで、 縦に長いワークシートがあり、適当にスクロールを縦方向にした状態で 見ている画面の中央にあたる行が、そのワークシートのどの行番号が 現在表示されているのかを知りたいのですが、マクロでどのように プログラムを書けばいいのかを教えてください よろしくお願いします

  • スクロールバー付きの枠

    ホームページビルダー13を使って、HPを作製しています。 その中に、最近のトピックスを書く欄を設けたいのですが、欄の枠の大きさは固定して、その中にどんどん書き込んでいく予定です。 そして、文字が枠の大きさを超えたら、スクロールバーで過去のトピックスを読めるような枠を作りたいのですが、どうやればスクロールバー(縦)付きの枠が作れるのか、分かりません。ビルダー13でなくても結構ですので、ご存じの方お願いします。

専門家に質問してみよう