| 
    
     |  | ▼にしもり さん: こんばんは。
 
 >以前、みなさまのおかげで以下のシフト表作成のプログラムを組みました。
 >いま新たな2要件がでてきました。
 >パターンIの人をr=12,13,24,25,36,37,48,49,60,61,72,73,84,85の場合はm=6から表出させたい、という要件です。
 >パターンIIの人をr=12,13,24,25,36,37,48,49,60,61,72,73,84,85の場合は表出させない、という要件です。
 >規則性はあると思うのですが私の実力不足でプログラムに反映できません。
 >どこを修正すればよいか、どなたかご教示ください。
 Macth関数を使用すると、
 rが{12,13,24,25,36,37,48,49,60,61,72,73,84,85}これらの値か否かの
 判断は出来ます。
 
 以下のコードを実行してみてください。
 
 '========================================================
 Sub test()
 For r = 10 To 30 Step 2
 ans = Application.Match(r, Array(12, 13, 24, 25, 36, 37, 48, 49, 60, 61, 72, 73, 84, 85), 0)
 If IsError(ans) Then
 MsgBox "r=" & r & " は配列内の数値でない"
 Else
 MsgBox "r=" & r & " は配列内の数値"
 End If
 Next
 End Sub
 このMatch関数をにしもりさんのコード中に入れて判断してみては
 いかがですか?
 
 |  |