- 帖子
- 36
- 主題
- 10
- 精華
- 0
- 積分
- 93
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 2007
- 閱讀權限
- 20
- 註冊時間
- 2018-2-27
- 最後登錄
- 2022-2-25
|
各位好,有個問題麻煩各位幫忙解答
目前兩個EXCEL檔,一個用來作出勤登記,一個出勤統計用
統計的部分是依照所需要的日期區間做抓取資料,但因為登記的部分多增加了儲存格顏色來備註,
希望抓到統計那邊時儲存格顏色也能一併過去- Sub Main()
- Call 日期區間(S, E)
- Call 加補休(S, E)
- Call 加班費(S, E)
-
- End Sub
- Sub 日期區間(S, E)
-
- S = CDate(Sheets("設定頁").Range("b8"))
- E = CDate(Sheets("設定頁").Range("c8"))
-
- End Sub
- Sub 加補休(S, E)
- 'Call 建立新工作表(S, E)
- i = 3
- x = 2
-
- If Sheets(1).Cells(2, 1) = "" Then
- x = 2
- Else
- x = ActiveSheet.UsedRange.Rows.Count + 1
- ' MsgBox x
- End If
-
- SNAME = Sheets("設定頁").Range("B2") '活頁簿名稱
- Do While Workbooks(SNAME).Sheets("補休").Cells(i, 1) <> ""
- 'MsgBox S
- If (Workbooks(SNAME).Sheets("補休").Cells(i, 4) >= CDate(S) And Workbooks(SNAME).Sheets("補休").Cells(i, 4) <= CDate(E)) = True Then
- '建立新工作表
-
- Sheets(1).Cells(x, 1) = Workbooks(SNAME).Sheets("補休").Cells(i, 1)
- Sheets(1).Cells(x, 2) = Workbooks(SNAME).Sheets("補休").Cells(i, 2)
- Sheets(1).Cells(x, 3) = Workbooks(SNAME).Sheets("補休").Cells(i, 12)
- Sheets(1).Cells(x, 4) = CDate(Workbooks(SNAME).Sheets("補休").Cells(i, 4))
- Sheets(1).Cells(x, 8) = Workbooks(SNAME).Sheets("補休").Cells(i, 5)
- x = x + 1
- End If
- i = i + 1
- Loop
- End Sub
- Sub 加班費(S, E)
- 'Call 建立新工作表(S, E)
- i = 3
- x = 2
-
- If Sheets(1).Cells(2, 1) = "" Then
- x = 2
- Else
- x = ActiveSheet.UsedRange.Rows.Count + 1
- 'MsgBox x
- End If
-
- SNAME = Sheets("設定頁").Range("B2") '活頁簿名稱
- Do While Workbooks(SNAME).Sheets("加班及請假").Cells(i, 1) <> ""
- If Workbooks(SNAME).Sheets("加班及請假").Cells(i, 3) <> "" And Workbooks(SNAME).Sheets("加班及請假").Cells(i, 4) <> "" = True Then
-
- Sheets(1).Cells(x, 1) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 2)
- Sheets(1).Cells(x, 2) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 3)
- Sheets(1).Cells(x, 3) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 1)
- Sheets(1).Cells(x, 4) = CDate(Workbooks(SNAME).Sheets("加班及請假").Cells(i, 4))
- Sheets(1).Cells(x, 5) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 5)
- Sheets(1).Cells(x, 6) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 6)
- Sheets(1).Cells(x, 7) = Workbooks(SNAME).Sheets("加班及請假").Cells(i, 7)
- x = x + 1
- End If
- i = i + 1
- Loop
- End Sub
複製代碼 |
|