昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
2014-04-16, 14:06:21
昱得資訊工作室
首頁 說明 登入 註冊 想當作者?
新聞: 會員注意!!麻辣家族討論區已轉換新系統,請移駕[麻辣家族新論壇]!!


+  麻辣家族討論區
|-+  MS Office 系列
| |-+  EXCEL
| | |-+  Excel程式區 (版主: Hsieh)
| | | |-+  計算工作時數問題
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: [1] 向下 列印
作者 主題: 計算工作時數問題  (閱讀 3429 次)
norikoy2
小學生
*
離線 離線

文章: 3


計算工作時數問題
« 於: 2009-07-21, 15:16:02 »

大家好,小弟是新新手,在EXCEL需要用到程式時,實在是非常苦惱
如附件是一個打卡的記錄表

1   2   S02 林秀如   07/03/2009   18:13:49   1   32   主門
2   2   S02 林秀如   07/01/2009   08:24:39   1   1   主門
3   2   S02 林秀如   06/30/2009   20:22:24   1   32   主門
4   2   S02 林秀如   06/30/2009   19:51:30   1   32   主門
5   2   S02 林秀如   06/30/2009   08:07:57   1   16   主門
6   2   S02 林秀如   06/30/2009   01:27:36   1   1   主門
7   2   S02 林秀如   06/29/2009   22:13:26   1   48   主門
8   2   S02 林秀如   06/29/2009   17:44:02   1   32   主門
9   2   S02 林秀如   06/29/2009   16:50:58   1   1   主門
10   2   S02 林秀如   06/29/2009   16:30:42   1   1   主門
11   2   S02 林秀如   06/29/2009   13:35:27   1   1   主門
12   2   S02 林秀如   06/29/2009   11:36:28   1   1   主門
13   2   S02 林秀如   06/29/2009   07:41:58   1   16   主門
14   2   S02 林秀如   06/27/2009   18:11:46   1   32   主門
15   2   S02 林秀如   06/27/2009   17:34:38   1   32   主門
16   2   S02 林秀如   06/27/2009   15:02:59   1   1   主門
17   2   S02 林秀如   06/27/2009   08:50:02   1   1   主門

依14.15.16.17來看.
17是上班,16是下班,15是上班,14是下班...由於無固定的上下班時間,
所以需要計算時數.

那麼該如何才能計算出每天的工作時數呢??

目前弄到最邊就卡住了...
發現myarr()到外面就無法使用了..

Sub test()
Dim i As Integer
Dim myarr() As Date, x As Integer
x = 0
yy = InputBox("請輸入年份,例如2009")
mm = InputBox("請輸入月份,例如01")
dd = 0
For days = 31 To 1 Step -1
  If days < 10 Then
    dd = 0 & days
  Else
    dd = days
  End If
  thedate = mm & "/" & dd & "/" & yy
  'MsgBox (thedate)
  Sheets("070709-2").Select
  For i = 1 To Range("日期").Cells.Count Step 1
    If Range("日期").Cells(i) = thedate Then
    x = x + 1
    ReDim myarr(x)
    myarr(x) = Range("時間").Cells(i)
    MsgBox (myarr(x))
   
      'Range("日期").Cells(i).Interior.Color = vbYellow
    End If
  Next i
Next days
End Sub


* 070709-2.xls (0 KB - 已被下載 4 次.)
已記錄
norikoy2
小學生
*
離線 離線

文章: 3


Re: 計算工作時數問題
« 回覆文章 #1 於: 2009-07-21, 15:37:38 »

不好意思..以下這樣清楚一點
表格是由下往上..@@..如附件

1   2   S02 林秀如   06/30/2009   19:51:30   1   32   主門   下班
2   2   S02 林秀如   06/30/2009   08:07:57   1   16   主門   上班
3   2   S02 林秀如   06/30/2009   01:27:36   1   1   主門   下班
4   2   S02 林秀如   06/29/2009   22:13:26   1   48   主門   上班
5   2   S02 林秀如   06/29/2009   17:44:02   1   32   主門   下班
6   2   S02 林秀如   06/29/2009   16:50:58   1   1   主門   上班
7   2   S02 林秀如   06/29/2009   16:30:42   1   1   主門   下班
8   2   S02 林秀如   06/29/2009   13:35:27   1   1   主門   上班
9   2   S02 林秀如   06/29/2009   11:36:28   1   1   主門   下班
10   2   S02 林秀如   06/29/2009   07:41:58   1   16   主門   上班
11   2   S02 林秀如   06/27/2009   18:11:46   1   32   主門   下班
12   2   S02 林秀如   06/27/2009   17:34:38   1   32   主門   上班
13   2   S02 林秀如   06/27/2009   15:02:59   1   1   主門   下班
14   2   S02 林秀如   06/27/2009   08:50:02   1   1   主門   上班

* 070709-2.xls (0 KB - 已被下載 12 次.)
已記錄
oobird
凸槌的木工
論壇維護群
*
離線 離線

文章: 5270



Re: 計算工作時數問題
« 回覆文章 #2 於: 2009-07-21, 15:52:26 »

Sub yy()
For i = 1 To [d65536].End(3).Row Step 2
Cells(i, 10) = (DateValue(Cells(i, 4)) + Cells(i, 5)) - (DateValue(Cells(i + 1, 4)) + Cells(i + 1, 5))
Next
[j:j].NumberFormatLocal = "hh:mm"
End Sub
已記錄

結廬待慧君
GBKEE
47年次
碩士班
*
離線 離線

文章: 1450



Re: 計算工作時數問題
« 回覆文章 #3 於: 2009-07-22, 00:51:05 »

程式碼:
Sub Ex()
  Dim i%, Total As Date
  For i = [d65536].End(3).Row To 1 Step -2
    If i = 1 Then Exit For
    Total = Total + (DateValue(Cells(i - 1, 4)) + Cells(i - 1, 5)) - (DateValue(Cells(i, 4)) + Cells(i, 5))
  Next
  [j1] = DateDiff("h", 0, Total)           '總小時數
  [K1] = DateDiff("n", 0, Total) Mod 60       '分鐘
End Sub
« 最後編輯時間: 2009-07-22, 03:34:32 由 GBKEE » 已記錄

知道的不多,不知道的更多. 不知道就請問! 知道會更多,不知道會不多.
norikoy2
小學生
*
離線 離線

文章: 3


Re: 計算工作時數問題
« 回覆文章 #4 於: 2009-07-27, 01:01:39 »

感謝oobird和GBKEE
 
我來好好研究一下怎麼運用^^
已記錄
頁: [1] 向上 列印 
« 上一篇主題 下一篇主題 »
自訂搜尋
跳到:  


Google PageRank Checker
本頁花了 3.499 秒, 以及 20 次的資料庫查詢.