返回列表 上一主題 發帖

[發問] 3段式輪班法

回復 1# h60327
試試看

輪值表.rar (12.5 KB)

TOP

本帖最後由 GBKEE 於 2012-8-14 10:48 編輯

回復 3# c_c_lai ]
Range(R),其用意何在?  
R="平日" ->  Range("平日")     
定義"平日" 的範圍"A1:C10"  => Range("A1:C10")

回復 4# h60327
三個班表的輪序 都有註明輪序符號
每月制定排班表示都依每段班表最後符號開始, 應該不需理會每月的星期排序吧.

當輪序到底時,會回到第一個員工開始輪序
  1. Private Sub 排班(R As Range, Rng As Range)
  2.     Dim X As Integer, xMatch As Integer, xRng As Range
  3.     X = Application.CountA(Rng)
  4.     If X = Rng.Count Then    '已是最後排班員工
  5.         Rng.Clear
  6.         X = 0
  7.     End If
  8.     Rng.Cells(X + 1) = "◎"
  9.     Set xRng = Rng.Cells(X + 1).Offset(, -1)
  10.     xMatch = Application.Match(xRng.Text, Range("人員資料").Columns(3), 0)
  11.     R.Offset(, 1).Resize(, 3) = Range("人員資料").Rows(xMatch).Value
  12. End Sub
複製代碼

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題