標題:
2個數值比較,取較大值
[打印本頁]
作者:
fangsc
時間:
2012-6-17 12:08
標題:
2個數值比較,取較大值
請教VBA寫法.
C欄與D欄數值做比對,
C小於D,則將D值取代C,
C大於D,則保留C值
如遇到A欄為空白時,則略過,不需比較.
感謝!!
作者:
register313
時間:
2012-6-17 12:29
回復
1#
fangsc
Sub xx()
LR = [A2].CurrentRegion.Rows.Count
For R = 3 To LR
If Cells(R, "A") <> "" And Cells(R, "AN") < Cells(R, "BB") Then Cells(R, "AN") = Cells(R, "BB")
Next R
End Sub
複製代碼
作者:
fangsc
時間:
2012-6-17 22:38
回復
2#
register313
感謝指導.
請問LR不需要先做變數宣告嗎?
作者:
register313
時間:
2012-6-17 22:49
回復
3#
fangsc
變數不先定義的話,VBA自動會定義
根據資料的不同,有可能是integer, long, double, variant 的任意一個類型
所以强制自己定義變數才是好習慣
Option Explicit 強制聲明
如果不用此語法,則變數可不用定義直接使用
如果使用此語法,則變數必須定義後才能使用
作者:
GBKEE
時間:
2012-6-18 07:55
本帖最後由 GBKEE 於 2012-6-18 08:00 編輯
回復
3#
fangsc
寫程式要一定養成 用Option Explicit 強制宣告變數 的習慣
執行程式可以抓出,未宣告的變數,可避免你輸入相似的變數名稱,因而找不出錯誤哪裡.
回復
4#
register313
變數不先定義的話,VBA自動會定義
變數不宣告型態 VBA會視為 Variant 資料型態
Variant 資料型態是所有沒被明確宣告為其他型態
作者:
fangsc
時間:
2012-6-18 20:27
感謝2位的指導.
書上是有寫說Variant型態的變數可以省去要注意資料型態一致的麻煩,不過這樣的用法會浪費多餘的記憶空間.
養成好習慣還是可以避免許多麻煩.
受教了.
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)