返回列表 上一主題 發帖

[發問] 請教物件變數的語法set與with-end with

set rng = Sheets("1").Range(Sheets("1").[c10], Sheets("1").[m83].End(3))
這樣是把rng定義為range物件(對象)
與前面定義成陣列在效能上不能同日而語!

TOP

這樣rng是一個2維陣列,沒有儲存格其他資訊,只有值。存在記憶體中,程式結束後即消失。

TOP

1.先了解with
使用with可減少對儲存格的頻繁存取。更可以縮短程式碼,以此例使用with後
原本rng = Sheets("1").Range(Sheets("1").[c10], Sheets("1").[m83].End(3))
就簡化成rng = .Range(.[c10], .[m83].End(3))
2.前面說了是把這個範圍的資料以二維陣列存放在記憶體內,不再是儲存格了,而是純脆的資料排列。屬Variant型態,因exce變數l預設值是Variant,所以不用寫出來。

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題