苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか?
原因は簡単で、エクセル操作をオリジナル入力画面のユーザーフォームを使用して、全ての操作を行うようにしていますが、何らかの理由でワークシートの下にあるシート名を変更されたり、直接シート変遷をされることが原因です。
解決方法は簡単で、シート名表示欄を自動的に非表示にしてしまうVBAコードを組み込んでおくだけで解決しますのでご紹介いたします。
DisplayWorkbookTabsでシートを非表示化へ
エクセル通常ワークシートは、下記のようにシートがいくつか用意されて自由にシートを変遷することができます。

このままでは当たり前ですが、シート名の部分をクリックするとシート名の変更やシートの移動が自由に出来てしまいます。

こうなれば、意図しない操作ができなくなるので作成したユーザーフォームからの操作のみ、またはワークシート上に配置したコマンドボタンからの操作しかできなくなります。
VBAで自動処理
方法は簡単で、エクセルファイルを開くと自動的にシートを非表示にすることができる、 DisplayWorkbookTabs を使用します。
Private Sub Workbook_open()
ActiveWindow.DisplayWorkbookTabs = False
End Sub
- エクセルファイルが開いたら
- シート見出し表示を非表示にする
- マクロ記録終了
たったこれだけでエクセルを開くと自動的にシート名の欄を隠してくれます。(非表示化)
波乗りアヒル念の為に、ワークシート上かユーザーフォームにシート名の部分を再表示する為のコードを記述したコマンドボタンを準備しておく事も必要です。
非表示にするには”False”、表示するには”True”を指定するだけです。
Private Sub CommandButton1_Click()
ActiveWindow.DisplayWorkbookTabs = True
End Sub
エクセルファイルを様々な人と共有することあると思いますので、意図しない操作って意外と多いので、対策は必要ですよ!
また、リボンツールバー非表示と一緒に使いたいのが、✖印を使用停止にしたり、エクセルメニューリボンを非表示化も便利機能ですよ。




関連記事
-
画面の操作


エクセルVBAで改ページプレビューと標準モード切替ボタンを作る方法
エクセルで表を作成して印刷をする前に用紙の範囲に印刷できるか気になるので、改ページプレビューで確認することありませんか? ボタン一つで標準モードにも切り替えら… -
画面の操作


エクセルシートで指定した範囲を自動的に画面最大化させるVBA方法
エクセルで作成した表がいつも画面いっぱいに表示されるならばいいのですが、スクロールしないと見られない範囲外ってことありませんか? Excel-VBAを使えばいつも指定… -
画面の操作


エクセルワークシート下にあるシート名の部分を非表示化する方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作


VBAの画面のちらつきがたった1行で解決して処理高速化する方法
エクセルで繰り返し作業を効率よくするためにVBAを活用している時に、コマンドボタンを押したら画面が一瞬スクロールしたりシートが切り替わったりして目障りに思ったこ… -
画面の操作


エクセルVBAでセルの枠線の表示を表示・非表示を切り替えるボタン
エクセルのワークシート上にはセルの仕切り「枠線」が表示されていますが、消したいこと(非表示化)ありませんか? ホームページやブログに画像として取り込む時に、枠… -
画面の操作


エクセルのメニューリボン(操作パネル)をVBAで非表示にする方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作


ワークシートサイズは常に最大化してエクセル画面を表示するVBA
エクセルファイルを開いたら中途半端なサイズで表示されるようになってしまった事ありませんか? 作業するのにはフルサイズでの画面最大化の方が良いので、VBAを使って… -
コマンドボタン


エクセルVBAコマンドボタンでON/OFF切替スイッチを作る方法
ワークシート上にある罫線やリボンなど7つの項目を表示したり非表示することができる切替ボタンがあったら便利だと思いませんか? 不要な項目をワンクリックで切り替え… -
画面の操作


指定したセルを画面左上にスクロールする
画面左上は移動はscrollrowとscrollcolumnを組み合わせる ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦参加者の成績表を入力する為の専用フォー…







