- 帖子
- 7
- 主題
- 1
- 精華
- 0
- 積分
- 13
- 點名
- 0
- 作業系統
- Win8
- 軟體版本
- X64
- 閱讀權限
- 10
- 註冊時間
- 2013-9-11
- 最後登錄
- 2013-9-13
|
10#
發表於 2013-9-12 15:39
| 只看該作者
謝謝版大,
其實我自己也稍微弄了一下,- For i = 1 To (row - 1)
- itopen.Activate
- A = ActiveCell.Offset(i, 0) ==> 抓取open date
-
- itclose.Activate
- b = ActiveCell.Offset(i, 0) ==> 抓取close date
-
- itsev.Activate
- c = ActiveCell.Offset(i, 0) ==>抓取Severity
- itverify.Activate
- d = ActiveCell.Offset(i, 0) ==>抓取verify date.
複製代碼 我個人覺得最大的問題是~ 我不知道怎麼去抓去 Status 的欄位並將它設定在字串在進行比對.- If Int(DateDiff("d", A, Astart)) >= 0 Then totalnum = totalnum + 1 ==>這邊是抓 verify date 和Open date與Astart date 做比對. (Astart date 是指向到cover page 中的 Test_Start Date)
- If (Int(DateDiff("d", b, Astart)) >= 0) And (b > 1000 / 1 / 1) Then closenum = closenum + 1 ==>這邊是抓取verify date 和Closed date 與Astart date 做比對
複製代碼 這兩段code 都可以抓到正確的值.
因為也以為用此方式可以抓到 字串方式
我就寫成- Dim str2 As string
- itlimitation.Activate
- For i = 1 To (row - 1)
- str2 = Worksheets("Raw_Data").Cells(i, 11).Value ==> 我以為會把string 丟入str2, 但是並沒有.
- If IsEmpty(ActiveCell.Offset(i, 0)) = False Then lim = ActiveCell.Offset(i, 0)
- If EndDate < lim Then EndDate = lim
- Next i
複製代碼- If (Int(DateDiff("d", b, Astart)) >= 0) And (b > 1000 / 1 / 1) And (InStr(str2, "Limitation")) Then limnum = limnum + 1 ==>得到的結果always 是1
複製代碼 因此 我換個寫法- If (Int(DateDiff("d", b, Astart)) >= 0) And (b > 1000 / 1 / 1) And (InStr(str2, "Limitation")>=0) Then limnum = limnum + 1 ==>得到的結果always 是 總數
複製代碼 我想知道, 有甚麼方式.是可以採用i 循環 將string 載入str2 後, 再丟到第二段code 做比對. 如果正確+1. |
|