http://office.microsoft.com/zh-tw/access/HA011102181028.aspx
由Access改成以Excel方式來處理
步驟1:以Excel開啟,並預先指定好各欄位
流水號 (必填欄位, 可任意值不能空白) | 合約開始日 | 合約結束日 | 區段查詢日 | 合約開始 至區段查詢服務天數 | 合約總服務天數 | 合約目前執行比例 =E1 / F1 |
10248 | 2004/9/20 | 2007/3/19 | 2006/12/31 | |||
11083 | 2006/1/16 | 2007/1/15 | 2006/12/31 |
步驟2:按Alt+F11開啟VB編輯器
步驟3: 由主選單選擇 插入| 模組
並且將微軟相關提供之函數,放置於此處,以便該Excel VBA去呼叫
步驟4:由主選單之 檢視(V) | 工具列(T) | 選擇 控制工具箱 ,並加入一個 指令按鈕,筆者將此按鈕命名為 BtnComputeDate,系統即可透過該函數,自動計算兩日期間之相差
Private Sub BtnComputeDate_Click()
Application.ScreenUpdating = False '暫時關閉即時顯示畫面,避免畫面一直閃動
intRow = 2 '跳過第1列(標題),由第2列開始處理
Do Until Cells(intRow, 1).Value = "" '設置迴圈,一直執行到沒有資料為止
Cells(intRow, 5).Value = "" '先清除合約開始至區段查詢天數
Cells(intRow, 5).Value = ElapsedTimeString(Cells(intRow, 2).Value, Cells(intRow, 4).Value)
Cells(intRow, 6).Value = "" '先清除合約開始至合約結束天數
Cells(intRow, 6).Value = ElapsedTimeString(Cells(intRow, 2).Value, Cells(intRow, 3).Value)
Cells(intRow, 7).Value = "" '先清除執行比例
Cells(intRow, 7).Value = Cells(intRow, 5).Value / Cells(intRow, 6).Value
intRow = intRow + 1 '處理下一筆資料
Loop
Application.ScreenUpdating = True
End Sub