• ベストアンサー

[エクセル2003] VBA シートの表示・非表示

シート1にチェックボックス その他シート名=1月~12月 とあり、チェックボックスにチェックを入れると今月の月のみのシートを表示させる方法(シート1はそのまま)。またチェックが外れると全月シート表示に切り替わる(シートの位置は変わらず)。 といった感じのことをやりたいのですが、書式のシート表示の設定は調べてわかったのですが、チェックボックスで切り替えがしたので分かる方よろしくお願いします。

  • opoon
  • お礼率71% (27/38)

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 では、こちらは、コントロールツール側で作っておきます。 Private Sub CheckBox1_Click()   Dim j As Integer   Dim i As Integer   j = Format(Date, "M")   Application.ScreenUpdating = False   For i = 1 To 12     If i <> j Then       Worksheets(CStr(i) & "月").Visible = Not CheckBox1.Value     End If   Next i   Application.ScreenUpdating = True End Sub

opoon
質問者

お礼

ご回答有難うございます。 お蔭様でうまく動作できるようになりました。 有難うございました!

その他の回答 (2)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

こんばんは。 具体的に書くと以下のようになります。 <フォームのチェックボックスの場合です> Sub チェック1_click()   Dim wMonth   As String   '   Application.ScreenUpdating = False   wMonth = Format(Now, "m")   If ActiveSheet.Shapes("チェック 1").ControlFormat.Value = 1 Then  '←チェックボックスの名前を変更して下さい     'チェックがONの時     For Each c In Worksheets       If c.Name <> wMonth & "月" And c.Name <> "Sheet1" Then         Sheets(c.Name).Visible = False       End If     Next   Else     'チェックがOFFの時     For Each c In Worksheets       Sheets(c.Name).Visible = True     Next   End If   Application.ScreenUpdating = True End Sub

opoon
質問者

お礼

ご返答有難うございました。 いろいろ分からない単語がありますので、勉強になります。

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

例: 下記を参考にしてください。 Sheets("1月").Visible = xlSheetHidden 'シートを隠す Sheets("1月").Visible = xlSheetVisible 'シートを表示する

opoon
質問者

お礼

早速のご返答有難うございました。 参考にさせていただきます。

関連するQ&A

  • エクセルシートの保護

    エクセルのシートに保護をかけたいのですが、 シートの中に、チェックボックスがあります。 チェックボックスの「コントロールの書式設定」で 「ロック」のチェックをはずしても、 シートの保護をかけると、チェックボックスにも保護がかかってしまいます。 シートの保護をかける時、 「データー」のチェックをはずすと、 チェックボックスにもチェックが入れられるようになるのですが、 それでは、他のセルにも入力が可能になってしまいます。 つまり、シート全体に保護をかけたいし、 当然、チェックボックスの機能も使いたいのですが、 セルの書式設定にある保護と フォーム・コントロールの書式設定にある「ロック」「文字列のロック」を、 どのように組み合わせればよいのでしょうか? そもそも、シート全体に保護をかけたいし、 チェックボックスの機能も使いたいのは、 可能なのでしょうか?

  • エクセルのVBAマクロで隠れシートを表示させる方法について教えて下さい

    エクセルのVBAマクロで隠れシートを表示させる方法について教えて下さい。 エクセルで”書式→シート→表示しない”を実行するとエクセルのシートを非表示にすることが出来ます。 逆に”書式→シート→表示する”にすると隠れているシートが表示出来ます。 この非表示のシートを表示させるVBAマクロの記載を教えて下さい。 但し、”Sheets(シート名).Visible = True”の様にシート名を記載すれば非表示のシートが表示されるのは知っています。今回知りたいのは、シート名の分からない全ての非表示のシートを表示させるVBAマクロの記載方法を教えて下さい。

  • エクセルVBAでのチェックボックス操作

    エクセルを利用した、VBAで困っています。 所定のsheetに埋め込まれたチェックボックスに対して、 別sheet内のセルの値を参照し、結果をオン、オフという 操作を行いたいのですが、チェックボックスに対するVBAでの指定方法 が分かりません。 イメージとしては (1)Sheet1内にチェックボックスがある。  該当チェックボックスは7個のチェックボックスで構成されており  それぞれにchb1~chb7といったオブジェクト名がある。 (2)sheet2のA1セルに特定の値が入っていればチェックボックス(chb1)  がオン値がなければオフのまま (3)sheet2のB1セルに特定の値が入っていればチェックボックス(chb2)  がオン値がなければオフのまま という感じです。 先方より指定された様式なのでsheet1の内容や書式を変更することが出来ないので、なんとか埋め込まれたオブジェクトを操作したいのですが・・・ 良い方法があれば教えてください。

  • エクセルのマクロでシートを表示させる

    マクロ初心者です。 1つのブックに20シート入っているのですが、 チェックBOXにチェックを付け、該当するシートのみを表示させるマクロを教えてください。 sheet1以外の下記のシートA~Dは非表示になっており sheet1にはシート名 A B C D というチェックBOXがあり、 例えば、Bにチェックを入れるとBのシートが表示され、 AとDなど複数チェックが入るとチェックしたシートが表示される様な マクロがありましたら、教えてください。 マクロの記録で読み込ませているのですが、複数シートの為、限界を感じております。 よろしくお願い致します。

  • Sheet2で選んで、Sheet1にスクロール表示

    Sheet1にA1~D5範囲の書式が50書式あります。  Sheet2にSheet1の50書式タイトルがあり、タイトルをクリックしたとき、.Sheet1に選んだ、書式がトップの位置に表示する方法を関数またはマクロをお知らせ下さい。 質問方法が悪かったので、簡略化しました、画像を添付致します。 ☆ここをクリックするは、Sheet2です。 ☆11行目のNO.3がトップの位置で下には、NO.4・NO.5と続きます。

  • Excelのシート表示・非表示

    Excelの「ツール-オプション」の表示タブ右下にある”シート見出し”のチェックを外すのと、 シートを選択した上で「書式-シート-表示しない」ではどう違うのでしょうか? ツールの方ではすべて消えてしまいますよね。 また、この二つで関数やその他機能的な制限が出て来るものなのでしょうか? 基本的なことかもしれませんが、よろしくお願いします。

  • エクセル シート非表示

    シートをユーザーに見せたくないので、次のように設定を行いました。 officeボタン⇒excelオプション⇒詳細設定⇒シート見出しを表示するのチェックをはずす 上記の方法でシートはクリックできないようになりましたが、 CTRL+PageDawn でシートが表示されてしまいます。 ショートカットキーを押下してもシートが表示されないようにするには どのようにしたらよいのでしょうか。

  • エクセルVBA/非表示シートの使い方

    度々よろしくお願いします。 シート(1)が入力用、シート(2)が計算および並び替え用、シート(3)が編集表示用として、シート(2)を常に非表示にしておきたいのです。 非表示のまま、記述の対象とする方法というのはあるのでしょうか?なければ、 Sheets(2).Visible = True ⇔ False で挟む方法が一般的なのでしょうか?

  • Excel - シート保護と並べ替え

    シート保護をかけたExcelのブックで、並べ替えだけは行いたいのですが、保護の時点で「並べ替え」の許可にチェックを入れても、「読み取り専用です」の旨のポップアップが表示され、並べ替えができません。 セルの書式設定で「ロック」のチェックを外せば並べ替えはできましたが、これだと編集も可能となるので、シート保護の意味がありません。 シート保護をかけた状態で、並べ替えだけ可能となるような設定の組み合わせが、他にありますでしょうか。 宜しくお願いいたします。

  • Excelの数字表示について

    Excelの数字表示についてです。 4桁以上の数字を3桁毎で区切りかつ、「+」「-」の表示を同時につけたいのですが、方法が分かりません。どなたかご教示下さい。 片方づつは、「セルの書式設定→数値→桁区切りのチェックボックスをチェック」、 「セルの書式設定→ユーザー定義→"+"0;"-"0;0」で出来るのですが、両方一緒に表示するのがわかりません。 例:「+1,234」 「 -1,234」 宜しくお願いします。

専門家に質問してみよう