返回列表 上一主題 發帖

[發問] 請問出勤系統設計

本帖最後由 GBKEE 於 2016-8-8 08:05 編輯

回復 8# v03586
你的程式邏輯不很明白所以要請問你如下

[DA出勤更新]表單中
出勤時數與延時加班的關聯為何,如是:出勤時數>8小時,後才有延時加班的發生.又加班時數的限制為何?
延時加班:指所屬的[班別]嗎?
日期如為各組的休假日時,出勤時數,延時加班,加班時數如何輸入                           

人員回報1ST,2ND,3RD的出勤率: 依[出勤資料庫]的[班別] 統計對媽?
17# 附圖(一) 中的 延長人數,提早人數 是如何定義",又2ND,3RD中各組休假人數,的邏輯為何?
附檔中的[整合頁面]的欄位6日-9日 是完整的嗎?是如人員回報1ST,2ND,3RD的出勤率嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 23# v03586

V - 休假人數
P - 休假人數
K - 休假人數   
如何計算??
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2016-8-10 09:16 編輯

回復 25# v03586
修改了 [DA出勤更新]UserForm
[整合頁面]工作表你試著做作看

   
   Ex.zip (530.12 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 27# v03586
『人員回報按鈕』後 『人員回報』資料表的星期會消失不見耶?
沒有啊,再試試看

早班人員 (1ST) 『延長加班』2ND ,     所以這個延長加班的人力, 應該要算去第二班的人頭
專長,DA,開機數, 還是早班媽?
附檔如是


Ex.zip (538.61 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 29# v03586
專長,DA,開機數, 還是早班媽?    是的算早班, 加班人員, 就換別班去安排他的工作項目了
那[安排他的工作項目]就不在這統計之內.


紅色框框的資料都不見了,你補上數字後再試試看.

不知道[整合頁面]的日期如何設定!!!
可直依日期的設定接複製過去.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 31# v03586


Ex.zip (538.28 KB)

附檔已補上 人力資料庫班別組別人數資料的程式碼
附檔的 Main_回報清除() 與29#附檔的的程式碼一樣
請再詳細看看 星期是否還是沒有嗎?
  1. Private Sub Main_回報清除()
  2.     Dim i As Date
  3.     With Sheets("人員回報")
  4.         .[A2] = Format(xDay, "yyyy/mm")                                                             '** 月份 **
  5.         .Range(.[h1], .[h1].End(xlToRight)).EntireColumn = ""
  6.         .Range(.[A63], .[G63].End(xlDown)) = ""
  7.         For i = DateSerial(Year(xDay), Month(xDay), 1) To DateSerial(Year(xDay), Month(xDay) + 1, 0)
  8.                 With .[h1]                                                        '**重寫 當月份日期
  9.                
  10.                     .Offset(0, Day(i) - 1) = Day(i)
  11.                     .Offset(1, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  12.                     
  13.                     .Offset(16, Day(i) - 1) = Day(i)
  14.                     .Offset(17, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  15.                     
  16.                     .Offset(32, Day(i) - 1) = Day(i)
  17.                     .Offset(33, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  18.                     
  19.                     .Offset(60, Day(i) - 1) = Day(i)
  20.                     .Offset(61, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  21.                     
  22.                     Stop   '請回到 [整合頁面]看一下星期有輸入嗎?
  23.                 End With
  24.         Next
  25.     End With
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2016-8-12 18:06 編輯

回復 32# GBKEE
2003  ->  Mid(Format(i, "aaa"), 3) 即可出現星期
感謝c_c_la i今天 17:25 提供  
高於2003版版本修改如下
Main_回報清除().Offset(1, Day(i) - 1) = Mid(Format(i, "aaa"), 3)修改成.Offset(1, Day(i) - 1) = Mid(Format(i, "aaaa"), 3)便 OK 了。
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 34# c_c_lai
感謝幫忙修正.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 38# v03586
請問其餘的Mid(Format(i, "aaa"), 3) 有改成Mid(Format(i, "aaaa"), 3)嗎?
  1.    .Offset(17, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  2.                     
  3.                     .Offset(32, Day(i) - 1) = Day(i)
  4.                     .Offset(33, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  5.                     
  6.                     .Offset(60, Day(i) - 1) = Day(i)
  7.                     .Offset(61, Day(i) - 1) = Mid(Format(i, "aaa"), 3)
  8.                     
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 46# c_c_lai
手術後要多休息.

    回復 45# v03586
提問上應有的佈局與邏輯走向是提問人要具備提出的,
回覆者只是助你解惑、導入、以及些許有意的實質提示

那試試看
  1. Private Sub UserForm_Initialize()
  2.     設定
  3.     人力資料讀取
  4.     離職檢視 '****加上這個看看
  5.     班別.List = DA班別.keys
  6.     延長加班.List = DA班別.keys
  7.     可操機數.List = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  8.     V = True
  9.     班別.ListIndex = 0
  10.     年.List = Array(Year(Date) - 2, Year(Date) - 1, Year(Date))  '3年內的範圍
  11.     月.List = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
  12.     年.ListIndex = 年.ListCount - 1
  13.     月.ListIndex = Month(Date) - 1
  14.     日.ListIndex = Day(Date) - 1
  15. End Sub
複製代碼
  1. Sub 離職檢視()
  2.     Dim Rng As Range, i As Long, St   As String
  3.     With Sheets("出勤資料庫")
  4.         For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
  5.             St = .Cells(i, "D")
  6.             If DA工號.EXiSTS(St) = False Then
  7.                 If Rng Is Nothing Then
  8.                     Set Rng = .Cells(i, "D").EntireRow
  9.                 Else
  10.                     Set Rng = Union(.Cells(i, "D").EntireRow, Rng)
  11.                 End If
  12.             End If
  13.         Next
  14.     End With
  15.     If Not Rng Is Nothing Then Rng.Delete
  16.     Set Rng = Nothing
  17.     With Sheets("人員回報")
  18.         For i = 63 To .Range("A" & Rows.Count).End(xlUp).Row
  19.             St = .Cells(i, "D")
  20.             If DA工號.EXiSTS(St) = False Then
  21.                 If Rng Is Nothing Then
  22.                     Set Rng = .Cells(i, "D").EntireRow
  23.                 Else
  24.                     Set Rng = Union(.Cells(i, "D").EntireRow, Rng)
  25.                 End If
  26.             End If
  27.         Next
  28.     End With
  29.     If Not Rng Is Nothing Then Rng.Delete
  30. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 知識要用心體會,才能變成自己的智慧。
返回列表 上一主題