[[20171011084912]] 『シートの選択、表示』(みなみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートの選択、表示』(みなみ)

皆様初めまして!
VBAになるかもしれませんが、ご教授いただければと思います。

シートに、A履歴書、B誓約書、C身元保証書、D通勤費支給申請書
というシートを予め用意しておいて非表示状態にしておく。

Eシートに
勤務形態(週3以下、週4以上)
雇用形態(正社員、契約社員、アルバイト)
といった選択肢を設けて、最後に「決定」ボタンを押すと

週4以上、正社員
ABCDを表示
週4以上、契約社員
ABDを表示
週4以上、アルバイト
ABを表示

といったように条件にあったシートが表示されるような仕組みを作りたいと思っております。

ただ、条件指定の後の「決定」で恐らくVBAを使わないと指示できないと思うのですが、
どういったコードを書けばいいのかが分かりません。

どなたかお教えいただけないでしょうか?

宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 仮にシート「E」のA1セルに「週4以上」「週3以下」を記述、
 A2セルに「正社員」等の区分を入力するものとして、

 シート「E」にActiveXコントロールのコマンドボタンを1つ配置、
 シート「E」のタブを右クリックより「コードの表示」を選択、
 右上の空白部分に下記をコピペ。

 Private Sub CommandButton1_Click()
    Dim Sh(3) As Worksheet
    Dim i As Long
    Set Sh(0) = Sheets("A履歴書")
    Set Sh(1) = Sheets("B誓約書")
    Set Sh(2) = Sheets("C身元保証書")
    Set Sh(3) = Sheets("D通勤費支給申請書")
    Select Case Range("A1").Value
        Case "週4以上"
            Select Case Range("A2").Value
                Case "正社員"
                    For i = 0 To 3
                        Sh(i).Visible = True
                    Next i
                Case "契約社員"
                    For i = 0 To 1
                        Sh(i).Visible = True
                    Next i
                    Sh(3).Visible = True
                Case "アルバイト"
                    For i = 0 To 1
                        Sh(i).Visible = True
                    Next i
            End Select
        Case "週3以下"
            Select Case Range("A2").Value
                Case "正社員"

                Case "契約社員"

                Case "アルバイト"

            End Select
    End Select
 End Sub

 必要に応じて「週3以下」の場合等、表示させるシートを追記してください。

(ろっくん) 2017/10/11(水) 12:46


ろっくん様
コードご教授いただきまして、本当にありがとうございます!
実際に動くのを見ると感激でした!
大変お世話になりました。ありがとうございます!!
(みなみ) 2017/10/11(水) 13:17

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.