- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2014-11-16 15:31
| 只看該作者
本帖最後由 GBKEE 於 2014-11-16 15:43 編輯
回復 3# 藍天麗池
試試看- Option Explicit
- Dim i As Integer '(短整數)資料型態
- 'Public i As interger => 出現使用者型態尚未定義, 正確: Integer
- Sub Ex()
- Dim xTime As Date
- If Time >= #8:46:00 AM# And Time <= #1:45:00 PM# Then
- With Sheets("RTD").Cells(i + 2, "T")
- 'T欄公式=IF(ISERROR(MATCH(U2,P:P,0)),"",MATCH(U2,P:P,0))
- .Range("A1") = "=IF(ISERROR(MATCH(RC[1],P:P,0)),"""",MATCH(RC[1],P:P,0))"
- 'U欄
- .Range("B1") = IIf(Minute(Time) Mod 2 = 0, Application.Sum(Range("A1:C1")), Application.Sum(Range("A2:C2")))
- 'V欄
- .Range("C1") = Time
- 'W欄公式=IF(ISERROR(INDIRECT("O"&T2)),"",INDIRECT("O"&T2))
- .Range("D1") = "=IF(ISERROR(INDIRECT(""O""&RC[-3])),"""",INDIRECT(""O""&RC[-3]))"
- 'X欄公式=IF(W2="","",IF(W2>54,-1,IF(W2<6,1,"")))
- .Range("E1") = "=IF(RC[-1]="""","""",IF(RC[-1]>54,-1,IF(RC[-1]<6,1,"""")))"
- 'Y欄公式=IF(ISERROR(INDIRECT("R"&T2)),Y1,INDIRECT("R"&T2))
- .Range("F1") = "=IF(ISERROR(INDIRECT(""R""&RC[-5])),R[-1]C,INDIRECT(""R""&RC[-5]))"
- .Resize(, 6) = .Resize(, 6).Value '將公式回數值
- End With
- i = i + 1
- xTime = Time + #12:01:00 AM#
- If xTime <= #1:45:00 PM# Then Application.OnTime xTime, "EX"
- ElseIf Time < #8:46:00 AM# Then
- Application.OnTime #8:46:00 AM#, "EX"
- Else
- MsgBox "時間已過"
- End If
- End Sub
複製代碼 |
|