Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


70557 / 76733 ←次へ | 前へ→

【10680】Re:プロシジャー分割
回答  ichinose  - 04/2/6(金) 1:10 -

引用なし
パスワード
   ▼かぷ さん:
こんばんは。
これで、どうでしょうか?
'====================================================================
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行目をチェック対象としています。

確認してみて下さい。

0 hits

【10642】[無題] かぷ 04/2/4(水) 16:42 質問
【10644】Re:[無題] 通りすがりの者 04/2/5(木) 0:00 発言
【10645】Re:[無題] かぷ 04/2/5(木) 0:33 発言
【10646】プロシジャー分割 ichinose 04/2/5(木) 2:32 回答
【10647】誤字脱字が・・・ ichinose 04/2/5(木) 2:44 発言
【10648】Re:プロシジャー分割 かぷ 04/2/5(木) 7:58 発言
【10653】Re:プロシジャー分割 かぷ 04/2/5(木) 13:22 発言
【10676】さらに追記 かぷ 04/2/5(木) 18:53 発言
【10678】Re:プロシジャー分割 ichinose 04/2/5(木) 23:54 質問
【10679】Re:プロシジャー分割 かぷ 04/2/6(金) 0:18 回答
【10680】Re:プロシジャー分割 ichinose 04/2/6(金) 1:10 回答
【10683】Re:プロシジャー分割 かぷ 04/2/6(金) 9:50 お礼

70557 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free