• ベストアンサー

EXCELでボタンによりスクロール

EXCELで1行目の C1セルにボタンを設ける。 そのボタンを押すごとに5行目以降がn行ずつスクロール(繰り上がって)して表示される。 これを実現する簡単な方法を教えていただきたい。

  • taktta
  • お礼率72% (1031/1430)

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

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

マクロを作るしかないでしょう。 マクロの記録で、一通り、記録させて あとは、手直しですね。

taktta
質問者

お礼

素朴な回答ですがたしかにそうかなと実際に体験し理解しました。おかげでうまくいきました.どうもありがとうございました。

その他の回答 (2)

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

Sheet1で行う例です。スクロールにはアップとダウンがあるので、スピンボタンを使ってみました。 コントロールツールボックスから、スピンボタンをSheet1に貼り付けます。場所は1~4行目の範囲にします。 スピンボタンの三角は上下を向いているようにします。 また、ウインドウ→ウインドウ枠の固定で5行目からスクロール可能な状態にします。 スピンボタン(SpinButton1)のプロパティを決めます。 スピンボタンを右クリックして、プロパティを選択。  5行目から30000行まで、20行単位でスクロールさせる設定例です。    Min=5    Max=30000    SmallChange=20  とします。 Sheet1のコードウインドウに下記コードを貼り付けます。 ↓ Private Sub SpinButton1_Change()   ActiveWindow.ScrollRow = SpinButton1 End Sub

taktta
質問者

お礼

どうもありがとうございました。 たいへんさんこうになりました。

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

操作による設定等で実現するのは、不可能でしょう。 それでVBAを使う。ワークシートに(コントロールツールボックスの方から)ボタンを1つ貼り付ける。 Mojule1に下記を貼り付ける。 アクチブセルをA1とかどこかに置いて、ボタンをクリックすると、A11(n=10)がアクチブセルになり、ボタンもそれなりに下へ行きます。 質問のままだと、直ぐボタンが隠れ探すのに手間がかかるからこの様にする。 但し出来るというだけで、実用的かどうかは疑っています。各行高は同じと仮定しています。 Sub ボタン1_Click() Application.Goto ActiveCell.Offset(10, 0) a = Worksheets("sheet1").DrawingObjects(1).Top Worksheets("sheet1").DrawingObjects(1).Top = a + Cells(1, 1).Height * 10 End Sub

taktta
質問者

お礼

ヒントとして利用させてもらいました。どうもありがとうございました。

関連するQ&A

  • Excelのスクロールをスムーズにしたい

    Excel 2007 です。 Excelのスクロールは、セル単位になっていますが、 行の高さがかなり大きい(画面サイズの7割以上とか)セルが続いている場合、 セル単位でスクロールされるとすぐに行き過ぎてしまいます。 セルの位置に依存しないスムーズなスクロールにすることはできないのでしょうか。

  • エクセルでスピンボタンとスクロールバーについて

    エクセルでスピンボタンとスクロールバーについて エクセル2000です。 フォームのスピンボタンとスクロールバーをワークシート上に配置した場合、両者ともほぼ同じ働きをしてくれます。 ところが、大きな違いが有ります。 スピンボタンは上向き▲で数値が大きくなっていきます。これは感覚的にしっくりきます。 ところが縦向きのスクロールバーは上向き▲で数値が逆に小さくなっていきます。これはちょっと違和感があります。 それなら、スピンボタンを使えばいいだけのことと言われそうですが、スピンボタンにはバーがないのでスライドさせて数値を動かすことができないのでスクロールバーを使いたいのです。 もちろん数式を用いて、セルの表示上でそうなるようにはできますが、それではリンク先セルに直接数値を入力ができなくなり不便です。 スクロールバーで上向き▲で数値が大きくなるような設定にはできないのでしょうか? スクロールバーを縦ではなく横向きに配置すれば右スクロールで数値が増え、数直線と同じでしっくりくるのですが、レイアウトの都合で縦向きに配置したいのです。 わがままな質問ですみません。 よろしくお願いします。 (o。_。)oペコッ. (なお、同じ質問を1時間ほど前に投稿したつもりだったのですが、なぜか反映されていないので再度質問いたしました。もし二重になっていたら申し訳ありません。)

  • N906iの下ボタンでスクロールのやり方

    N906iで下ボタンを押して3行や5行のスクロールのやり方を教えて下さい! N902iの時はできたのですが906はできないのですか?

  • Excel行スクロール

    Excelの行スクロールで教えてください。 100行分のデータがあるときは100行分で行スクロールバーが出ます。 1万行分のデータがあるときは1万行分で行スクロールバーが出ます。 ところが、一度1万行のデータがあった後、9900行を削除しても行スクロールバーは1万行分のままです。データが100行分になったので100行分の行スクロールバーにしたいのですが、やり方がわかりません。 Excel2000です。Excelの一般機能としての操作方法とExcelVBAでの方法をお願いします。

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

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

  • Excelエクセルスクロールがセルごとじゃなくスムーズにしたい。

    現在使用中のエクセル2007では、マウスでもスクロールでも、1クリックに1セル移動が基本です。ホイルなら設定された数量のセル分だけ移動です。 こうじゃなくて、ホイルやボタンで▽を押したら移動させたい一定量(例えば画面上の10ドット分)、なめらかにスクロールさせたいです。 ネットで探してもそれっぽい物も見つからず、使い勝手の悪さに困っています(セル内でalt+enterを使って縦長のセルを作るので、一気に1画面飛んだりします)。 このようにシートをスクロールする設定方法を教えてください。 よろしくお願いいたします。

  • エクセルVBAで、非表示にした行は飛ばしてスクロールさせる方法を教えて

    エクセルVBAで、非表示にした行は飛ばしてスクロールさせる方法を教えて下さい。 下記の画像のようなエクセルの表があったとします。 A2セルに設置した「下へ」ボタンを押す度に、(ウィンドウ枠の固定をA2セルの下でやっているので)現在のA3セルがある場所に、最初にA17セル、次にA28セル、と、各会社の一番上の行が来るようなマクロを作りたいと思いました。 ただし、もう取引のない会社等の理由で、非表示にしてある会社は飛ばしてスクロールさせたいのえすが、飛ばすことが出来ません。 画像で説明しますと、A社が一番上に表示してある状態で、「下へ」ボタンを1回押すと、C社が一番上に来るようにしたいのですがうまくいきません。 どうしたらよいのでしょうか? Sub 下スクロール() s = Selection.Row '現在選択されているセルの行番号をs変数として表現 Cells(s, 1).Select '選択されているセルのA列を選択(A列以外の列が選択されていた時の為) au = Selection.Row '選択されている結合セルの一番上の行番号をau変数と表現 'ad3 = Selection.Offset(3, 0).Row 'ad3 = Cells(au + Range("A" & au).MergeArea.Count - 1, 1).Offset(3, 0).Row ad3 = Cells(au + Range("A" & au).MergeArea.Count - 1, 1).Row + 3 '結合セルの一番下の行から3行下の行をad3変数で表現 ActiveWindow.ScrollRow = ad3 'ad3行が一番上に来るようスクロール Cells(ad3, 1).Select 'A列を選択 End Sub よろしくお願い致します。

  • JScrollPaneのスクロールを制御したい

    お疲れ様です、質問があります。 タイトルのとおりですが、JScrollPaneのスクロールを制御したいのです。具体的には JTableでデータの一覧を表示させて、その1レコードを選択するとします。その選択をボタンを押すごとに選択行を一行ずつ下げていくとJScrollPaneの表示域の下にセレクトされた行が隠れます。そのタイミングでスクロールを下げてセレクトされた行を見れる位置までずらしたいのです。 setAutoScrolls(True)で自動的に制御しようとしたのですが、マウスでレコードをクリックしてからキーボードの矢印の「↓」を押すと自動的にスクロールが動いてくれるのですが。。。 スクロールの制御方法について知っていらっしゃる方よろしくお願いします。

    • ベストアンサー
    • Java
  • 光学式マウスのスクロールボタン

    光学式マウスで、1行スクロールしようと思うとできなくなりました。 (上下とも) 感覚的には、ギアがかみ合わず、滑っている感じです。 1行より多いスクロールは余裕でできるので、 おそらくスクロールボタンの樹脂部分の抵抗を高くすれば また復活するのではないかと思います。 そこで質問ですが、光学式マウスって、分解しても大丈夫なものでしょうか? また、スクロールボタンの抵抗を高くする方法を教えてください。 よろしくお願いいたします

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

    3000行程度のエクセルシートを操作していたのですが、 いつもは右にあるスクロールバーが、 3000行の部分を最終行として対応していました。 ところが、1回操作をあやまってしまったようで、 現在は65535行目が最終行になってしまいました。 戻すやり方はありますか? つまり3000行以降の無データの部分に関して 右のスクロールバーを対応させないということです。 わかる方がいましたらお教えください。

専門家に質問してみよう