プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

タブレットPCでエクセルを使っております。
スクロールバーが狭く操作しにくいため
スピンボタンを作成しスピンボタンで
20行単位で画面がスクロールできるようにしました。

ここまでは問題ないのですが、、、、
せっかくなので、スクロールした時にアクティブセルも同様に
20行単位で移動するようにしたいと思っております。

すいませんが詳しい方、説明の上手な方、直接コードで説明できる、
お手数ですがスピンボタンでスクロールした時にアクティブセルも同時に
移動する方法を教えて下さい。

追記
とりあえず以下のところまでは自力で出来ました。
ボタンの名前、ユーザーフォームの名前を合わせて頂くとありがたいです。
※不可でしたら新規のものでもOKです。

お手数ですがよろしくお願いします。

--------------------------------------------
Option Explicit
Private Sub SpinButton1_SpinUp()
ActiveWindow.SmallScroll Down:=-20
End Sub

Private Sub SpinButton1_SpinDown()
ActiveWindow.SmallScroll Down:=20
End Sub
--------------------------------------------
以前、こちらでスピンボタンについて教えて頂いたことがあります。
※教えて下さったtatsu99さん、ありがとうございました。

EXCEL ユーザーフォームのタイトルバーの高さを広くしたい

https://oshiete.goo.ne.jp/qa/9545290.html

「【VBA】スピンボタンでアクティブセルを」の質問画像

A 回答 (2件)

表示セル範囲の左上


visiblerange(1,1)
スクロールするたびに、そのセルをselectしてやればいけそう。
    • good
    • 0
この回答へのお礼

いつもご解答ありがとうございます。
visiblerangeですか?
難しいコマンドを知っているんですね。

アップしてから気が付いたのですが、Offsetを使えばいいんですよね。
以下のコードでいけました。

ですが、、、。
上方向へスクロールする時に一番上までいくと、
-20行分のオフセットが出来ないのでエラーが出てしまいますが。

この対策が必要ですがとりあえず以下のコードで出来ました。

今回はご解答ありがとうございます。
機会がありましたらまたお願いします。

---------------------------------------------
Option Explicit
Private Sub SpinButton1_SpinUp()
ActiveWindow.SmallScroll Down:=-20
  ActiveCell.Offset(-20, 0).Select
End Sub

Private Sub SpinButton1_SpinDown()
ActiveWindow.SmallScroll Down:=20
  ActiveCell.Offset(20, 0).Select
End Sub

お礼日時:2017/03/01 12:51

こんなふうにしたらどうでしょうか。



Private Sub SpinButton1_SpinUp()
Dim rng As Range
 Set rng = ActiveCell
 ActiveWindow.SmallScroll Up:=20
 On Error Resume Next
 rng.Offset(-20).Select
 On Error GoTo 0
End Sub

Private Sub SpinButton1_SpinDown()
Dim rng As Range
 Set rng = ActiveCell
 ActiveWindow.SmallScroll Down:=20
 On Error Resume Next
 rng.Offset(20).Select
 On Error GoTo 0
End Sub

エラー処理しないと、最上部に来た時、最下部に来た時に、エラーになるような気がしました。
    • good
    • 1
この回答へのお礼

いつもご解答ありがとうございます。

No.1さんへのお礼に入力したとおり一番上まで行った時と
一番したまで行った時のエラー対策までされてるんですね。
バッチリです。

今回はご解答ありがとうございます。
機会がありましたらまたお願いします。

お礼日時:2017/03/01 13:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A