エクセルのVBAの解説書やヘルプによると、
DisplayHorizontalScrollBar はWINDOWオブジェクトに対しての、プロパテイです。
「これはウインドウ内の水平スクロールバーの・・・」
となっています。
DisplayScrollBarと言うのもありますが、こちらはApplication即ちエクセルに対してのプロパテイです。
こちらは「全てのブックのスクロールバー・・」となっています。
「当該シートだけじゃなく」はそういう意味です。
これらのプロパティのオブジェクトが何かが決定します。
あるシートだけのスクロールバーを出さないなら
例えば問題のシートがSheet4として、
Sheet4にコマンドボタンを1つ貼りつけ、ダブルクリック
するとVBE画面になるので
Private Sub CommandButton1_Click()
ActiveWindow.DisplayHorizontalScrollBar = False
End Sub
を貼りつける。
そしてその下に
Private Sub Worksheet_Deactivate()
ActiveWindow.DisplayHorizontalScrollBar = True
End Sub
を貼りつける。
デザインモードを脱して、Sheet4でボタンをクリックすると水平スクロールバーは消える。
他のシートに移ると他のシートの水平スクロールバーは現れる。Sheet4に戻っても水平スクロールバーは現れるので
ボタンをクリックして消す。
お礼
ご指導ありがとうございます。マクロは自分でいろいろ作って楽しんでいます。しかし今回の疑問は、マクロを使わずツール>オプション>表示 から他の例えば行列番号や0値のように、簡単にそのときアクティブなシートのスクロールバーだけが消せないかと思ったんですが無理でしょうか。