- 帖子
- 47
- 主題
- 6
- 精華
- 0
- 積分
- 74
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Macau
- 註冊時間
- 2011-6-15
- 最後登錄
- 2016-7-4
|
7#
發表於 2011-7-19 12:05
| 只看該作者
本帖最後由 StanleyVic 於 2011-7-19 12:30 編輯
回復 3# oobird
回方法四 : "oobird" 您好! 你的方法是先全都定義好.能快速跑完代碼.謝謝你的建議.
但本人真的很新手..也有很多代碼的地方,還未了解透.因想多學習....希望你不介意..能為我解釋一下.萬分感謝.
一. 代碼中 Dim j&, n&, d, t, ai, arr 的 & 是什麼時意思..?
n = .Range("d65536").End(xlUp).Row
d = .Range("d6:d" & n)
t = .Range("t6:t" & n)
ai = .Range("ai6:ai" & n)
二. 以上我了解到是你想預先定義好, 方便運行vba 公式 AN6 =IF(D6<>"",T6-AI6,"") 而建立的
可能我對 ReDim arr 不太熟和不了解,讓我下面不能解讀了.. (以下綠色是我了解的地方,如有錯請更正我的思考)
ReDim arr(1 To UBound(d), 0) ' 數組 由 [D6:DN]
For j = 1 To n - 6 ' 記錄的行數 (只有內容的行數 6~n)
If d(j, 1) <> "" Then ' 公式裏的判斷語句.if(d6<>""
arr(j, 0) = Application.WorksheetFunction.Round(t(j, 1) - ai(j, 1), 2) ' 這句 arr(j,0) 中的 0 是什麼 ?
End If
Next j
.Cells(6, "AN").Resize(UBound(d), 1) = arr ' 不明白這句代碼
End With
再次謝過"oobird" 辛苦了.. !! :loveliness: :handshake |
|