- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 1
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
8#
發表於 2013-11-14 22:33
| 只看該作者
本帖最後由 luhpro 於 2013-11-14 22:35 編輯
回復 luhpro
大大你好
這是我貼你的程式的版本
按按鈕執行時 出來的日期怪怪的 而且"出勤事由"那裡的星期X也沒有抓到資料呢~"~
prince0413 發表於 2013-11-14 17:16 
日期怪怪的? 應該不會的啊, 你看我的抓圖 :
第一頁
第二頁
第四頁
第六頁
至於 "出勤事由" 內沒資料這個問題,
上面的程式我本來就沒做這個部份.
因為不確定你的事由是否要由程式自動產生,
亦或是之後再由手寫補上.
既然你希望程式自動產生,
那就再調整一下囉.- Sub cbCrtTbl_Click()
- Dim iDate%, iLoc%, iTbl%, iEnd%
- Dim lRow&
- Dim sStr$
- Dim wsSou As Worksheet, wsTar As Worksheet
-
- Set wsSou = Sheets("11月")
- Set wsTar = Sheets("假日出勤單")
- wsTar.Activate
- lRow = 11
-
- With wsSou
- iTbl = 0
- Do While .Cells(lRow, 4) <> ""
- sStr = .Cells(lRow, 6)
- iLoc = InStr(1, sStr, "/") + 1
- Do While iLoc < Len(sStr)
- iEnd = InStr(iLoc, sStr, ".")
- If iEnd = 0 Then iEnd = Len(sStr) + 1
- iDate = Mid(sStr, iLoc, iEnd - iLoc)
- wsTar.Cells(5 + iTbl * 14, 1) = CDate("2013/11/" & iDate)
- wsTar.Cells(5 + iTbl * 14, 2) = .Cells(lRow, 4)
- wsTar.Cells(5 + iTbl * 14, 4) = "(星期" & Choose(Weekday(CDate("2013/11/" & iDate), 2), _
- "一", "二", "三", "四", "五", "六", "日") & ")沙龍營業"
-
- If iTbl = 1 Then
- wsTar.PrintPreview
- iTbl = -1
- End If
-
- iLoc = iEnd + 1
- iTbl = iTbl + 1
- Loop
- lRow = lRow + 1
- Loop
-
- If iTbl = 1 Then
- wsTar.Cells(5 + iTbl * 14, 1) = ""
- wsTar.Cells(5 + iTbl * 14, 2) = ""
- wsTar.Cells(5 + iTbl * 14, 4) = ""
- wsTar.PrintPreview
- End If
- .Activate
- End With
- End Sub
複製代碼
請假&出勤申請單-a.zip (51.03 KB)
|
|