調べたいExcel-VBAの使用例などキーワードを入力してください

VBAでエクセル画面の上下スクロールバーを非表示にする

ウィンドウの操作画面の操作
ウィンドウの操作
スポンサーリンク

エクセル画面右端には上下に画面移動するための垂直スクロールバーが必ず表示されていますが、ユーザーフォームなどを使ってエクセル自動化させた時には、意図しないスクロールによってエラーになってしまった事ありませんか?

そこで思い切って垂直スクロールバーを非表示にして操作できないようにしましょう。

とりっぷぼうる
とりっぷぼうる

方法は簡単で、垂直スクロールバーを非表示にする(DisplayVerticalScrollBarプロパティ)を使うだけで、簡単なのでぜひ取り入れてみませんか?

スポンサーリンク

DisplayVerticalScrollBarプロパティ

DisplayVerticalScrollBarプロパティとActiveWindowを組み合わせると、現在表示している垂直スクロールバーを表示したり非表示にしたりすることができるようになります。

  • 垂直スクロールバーを非表示・・・False
  • 垂直スクロールバーを表示・・・・True

では実際にここでは、ユーザーフォームに配置したコマンドボタンに垂直スクロールバーを表示・非表示にするVBAコードを書いていきましょう。

垂直スクロールバーを非表示

垂直スクロールバー非表示
垂直スクロールバー非表示

垂直スクロールバーを非表示にするには、DisplayVerticalScrollBarをFalseに指定することでできるようになります。

垂直スクロールバーを非表示にする

Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayVerticalScrollBar = False
End With
End Sub

VBA解説
  1. コマンドボタン1が押されたら
  2. 現在表示中のワークシートを操作する
  3. 垂直スクロールバーの表示を非表示にする
  4. withステートメント終了
  5. マクロ終了

これで、コマンドボタン1が押されたら水平スクロールバーが非表示になります。

垂直スクロールバーを再表示

垂直ツールバー表示
垂直ツールバー表示

垂直スクロールバーを非表示にできたら、再表示できないと不都合なので、DisplayVerticalScrollBarをTrueに指定することでできるようになります。

垂直スクロールバーを表示する

Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayVerticalScrollBar = True
End With
End Sub

VBA解説
  1. コマンドボタン1が押されたら
  2. 現在表示中のワークシートを操作する
  3. 垂直スクロールバーを表示する
  4. withステートメント終了
  5. マクロ終了

非表示のFalseを表示のTrueに変更するだけで完成するのとても簡単です。

この方法でも問題ないのですが、コマンドボタンを2つ用意しなくてはいけないのですが、ちょっと工夫すると1つのコマンドボタンで非表示も再表示もできるんですよ!

クリックするたびに垂直スクロールバーの表示/非表示を切り替え

なんでもかんでもできるわけではないのですが、この種の表示・非表示の切り替えには、FalseやTrueの代わりにNot演算子を使用するとできるようになります。

垂直スクロールバーの表示/非表示を切り替え

Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayVerticalScrollBar = Not .DisplayVerticalScrollBar
End With
End Sub

VBA解説
  1. コマンドボタン1が押されたら
  2. 現在表示中のワークシートを操作する
  3. 垂直スクロールバーの表示・非表示を切り替える
  4. withステートメント終了
  5. マクロ終了

意外と簡単ですよね。

作成したエクセルは様々なスタッフが使う為に、想定外の操作をされてしまいエラーを引き起こすことがあるので、ユーザーフォーム以外の操作をできないように工夫しています。

スポンサーリンク

ウィンドウの操作関連

垂直スクロールバーの非表示・表示以外にもいくつか利用しているのでご紹介します。

ボタン1つで表示を切り替えたり元に戻したりできると便利なので、ほかの表示方法も知っていて損はないと思いますよ!

ボタン1つで作業完了へ
ちょっとの工夫でエクセル作業が飛躍的に早く終わったらいいなあ~と思いませんか? 面倒くさい作業よ!さようなら!

スポンサーリンク


画面の操作
参考になりましたらシェア宜しくお願い致します

山頂テラスデッキからの三段紅葉(2019年11月)

フリーパスって助成金つぎ込んでいいの?

コロナ禍のGo To トラベル以外にも助成金だらけでうらやましいね。

安くなったフリーパスで遊びに行きたいけど、給与も減って余裕ないよね。

Excel VBA