|
▼ichinose さん:
>'====================================================================
>Sub チェックA()
> Dim dsp_row_flg(1 To 10) As Boolean
>' 1: 一般 2:役職A 3:役職B 4:役職C 5:役職D 6:掃除 7:学生 8:社長 9:役員 10:監事
>' True:非表示 False:表示
> Dim idx As Long
> Dim jdx As Long
> With Worksheets("氏名一覧")
> For idx = 4 To 102
>
> For jdx = LBound(dsp_row_flg()) To UBound(dsp_row_flg())
> dsp_row_flg(jdx) = True
> Next jdx
> Select Case Range("m" & idx).Value
> Case "役職A"
> dsp_row_flg(1) = False
> dsp_row_flg(2) = False
> Case "掃除"
> dsp_row_flg(1) = False
> dsp_row_flg(6) = False
> Case "役職B"
> dsp_row_flg(1) = False
> dsp_row_flg(3) = False
> Case "役職C"
> dsp_row_flg(1) = False
> dsp_row_flg(4) = False
> Case "役職D"
> dsp_row_flg(1) = False
> dsp_row_flg(5) = False
> Case "学生"
> dsp_row_flg(1) = False
> dsp_row_flg(7) = False
> Case "社長"
> dsp_row_flg(8) = False
> Case "役員"
> dsp_row_flg(9) = False
> Case "監事"
> dsp_row_flg(10) = False
> Case "事務"
> dsp_row_flg(1) = False
> End Select
> Call シート設定(idx, dsp_row_flg())
> Next idx
> End With
> Sheets("氏名一覧").Select
>End Sub
>'=============================================================
>Sub シート設定(設定行 As Long, 表示有無() As Boolean)
>'各シートの指定行を指定により、表示又は、非表示にする
>'input : 設定行 表示又は、非表示対象行
>' 表示有無() 各シートの表示・非表示の真偽
>' 1: 一般 2:役職A 3:役職B 4:役職C 5:役職D 6:掃除 7:学生 8:社長 9:役員 10:監事
>' True:非表示 False:表示
> Sheets("一般").Rows(設定行).Hidden = 表示有無(1)
> Sheets("役職A").Rows(設定行).Hidden = 表示有無(2) '役職A
> Sheets("役職B").Rows(設定行).Hidden = 表示有無(3)
> Sheets("役職C").Rows(設定行).Hidden = 表示有無(4)
> Sheets("役職D").Rows(設定行).Hidden = 表示有無(5)
> Sheets("掃除").Rows(設定行).Hidden = 表示有無(6)
> Sheets("学生").Rows(設定行).Hidden = 表示有無(7)
> With Sheets("役員")
> .Rows(設定行).Hidden = 表示有無(8) '社長
> .Rows(設定行 + 100).Hidden = 表示有無(9) '役員
> .Rows(設定行 + 200).Hidden = 表示有無(10) '監事
> End With
>End Sub
>
>
>プロシジャー「チェックA」を実行してみて下さい。
>尚、シート「氏名一覧」4行目から、102行目をチェック対象としています。
>
>確認してみて下さい。
(/゜ο゜)/ オオオオォォォォォォ-
動きましたぁ!
凄い!他のシートに移動しなくても変更できるのですね。
4行目の人だけじゃなくチェックAだけで5行目の人も可変可能なんて・・
どうもありがとうございました。
また、わからない事があったらここに質問させてもらいます。
本当にichinoseさんありがとうございました。
|
|