- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
3#
發表於 2013-6-21 16:10
| 只看該作者
本帖最後由 GBKEE 於 2013-6-24 16:18 編輯
回復 1# vzcen
這DEE工作表物件的程式碼- Option Explicit
- Private Sub Worksheet_Calculate()
- Dim Rng As Range
- Static Msg As Boolean '以 Static 陳述式宣告的變數,在程式執行期間,會一直保留內容。
- If Weekday(Date, vbMonday) > 5 Or Time < #9:00:00 AM# Or Time > #1:30:00 PM# Then Exit Sub '非營業日 或 非營業時間
- If Msg = False Then
- 清除舊資料
- Msg = True
- End If
- With Cells(Rows.Count, "C").End(xlUp)
- If .Row = 7 Then
- Set Rng = .Offset(1)
- Else
- Set Rng = .Cells
- End If
- End With
- If Rng = "" Or Rng.Text <> Format([b5], "hh:mm") Then
- If Rng <> "" Then Set Rng = Rng.Offset(1)
- Rng = Format([b5], "hh:mm")
- Rng(1, 2) = [B6].Text
- Rng(1, 3) = [B6].Text
- ElseIf Rng.Text = Format([b5], "hh:mm") Then
- If [B6] > Rng(1, 2) Then Rng(1, 2) = [B6].Text
- If [B6] < Rng(1, 3) Then Rng(1, 3) = [B6].Text
- End If
- End Sub
- Private Sub 清除舊資料()
- On Error GoTo Er
- If [營業日] <> Date Then '檢查 定義名稱:"營業日"的值
- Me.Names.Add "營業日", Date '定義名稱:"營業日"的值為當日
- If Weekday(Date, vbMonday) <= 5 Then Range([C8], [E8].End(xlDown)).Clear '營業日
- End If
- Exit Sub
- Er: '處裡: 沒有定義名稱:"營業日"的錯誤
- Me.Names.Add "營業日", Date '定義名稱:"營業日"的值為當日
- Resume Next '回到錯誤的下一個程式碼:繼續執行
- End Sub
複製代碼
|
|