エクセルを開くと自動的にシートを非表示にする方法

ウィンドウの操作 ウィンドウ操作
ウィンドウの操作

スポンサーリンク


スポンサーリンク


スポンサーリンク

シートを隠して意図しないユーザー操作を防止

ユーザーフォームを作ってフォーム上でデータ入力を行ってもらい、正確な計算やデータ集計を自動的に行い業務の効率化で早く仕事が終わるようにエクセルを使っていますが、製作者の意図しないユーザー操作によってデータの破損・実行エラーが発生することがありますね。

意図しないシートの移動もその原因の一つです。

本来はユーザーフォームのコマンドボタン(Commandbutton)操作により、シート移動・セル移動を行うことでスムーズな入力などができるように作っているのに、エクセルワークシートの左下のシートをユーザーがクリックしてシート移動することにより、プログラムが働かないことが発生しますね。

また最悪の場合、シート名が変わってしまうなんてことが起きたら全く動かなくなってしまいます。

意図的にシート名を変更することは無いのですが、キーボードの上に物が置かれて、落ちてきて、運悪くシート名が変わってしまった事の経験があって。

そこでエクセルを開くと自動的にシートを隠してしまえば、こんな問題が解決できますよね。

 

シート表示

シート表示

 

シート非表示

シート非表示

 

DisplayWorkbookTabs

シートを隠してしまう方法は、DisplayWorkbookTabsを使います。

  • 非表示にする False
  • 表示する   True

エクセルを開いたときに自動的に処理を行う方法はThisWorkBookに記述します。

Private Sub Workbook_open()
ActiveWindow.DisplayWorkbookTabs = False
End Sub

これで、エクセルを開いてマクロを有効化すると、シートを隠して表示してくれます。

念の為に、ワークシート上かユーザーフォームにシートを再表示する為のコードを記述したコマンドボタンを準備しておく事も必要ですね。

Private Sub CommandButton1_Click()
ActiveWindow.DisplayWorkbookTabs = True
End Sub

スポンサーリンク

各コントロールまとめて転記シリーズ

ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。

よく使うのでまとめてみました。

値の場所転記したい場所説明ページ
セルの値ラベル名VBAコード
セルの値テキストボックスの値VBAコード
セルの値コマンドボタンの表示名VBAコード
セルの値セルの値VBAコード
テキストボックス入力値セルの値VBAコード
波乗りアヒル
波乗りアヒル

成績表作成には知っておきたいExcel-VBAもくじ

ボウリングハンデキャップのつけ方
HDCPの種類はリーグのルールにより複雑に ボウリングの成績表(リーグ戦)で必ず必要になるのが、ハンデキャップ(HDCP)です。 ボウリングご予約の時に一番多く使われているのが、女性にだけハンデキャップをつけてあげることが多いですね。 だいだい何点ぐらいのハンデキャップが多いの?
ボウリングリーグ対戦表の数字を名前に自動変換する方法
リーグ戦の対戦表をエクセルで作る時、数字で表されている番号を名前に自動的に変換できると作業時間が短くなり効率的ですね。たった2つのエクセル関数を使うだけで、簡単にできるんです。今回の回戦数を入力するだけで一発変換完了。もちろんお客様にスケジュール対戦表として渡すことも簡単ですよ。
人数に応じてリーグ対戦表を自動選択する方法
複数の表があり、条件に合った表を選んで、さらにセルの値を選んで数字を名前に自動変換できると、とても便利なエクセルができますよね。ボウリングのリーグ対戦表も人数により表が異なるので、参加人数が決まったら、自動的に表を選んで対戦番号がこれも自動的に参加者名に変換されると便利で作業効率がアップして時間短縮になりますよ。
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?

タイトルとURLをコピーしました