返回列表 上一主題 發帖

[發問] 請問vba使用中括號range[],代表什麼意思

[發問] 請問vba使用中括號range[],代表什麼意思

不好意思,請問vba使用中括號range[],代表什麼意思?為何不能只使用()呢?

本帖最後由 GBKEE 於 2011-3-16 14:33 編輯

回復 1# cmo140497
  1. Sub Ex()
  2.     Dim A As String
  3.    
  4.     A = "a1:a10"
  5.     Range(A) = 10   '->Range("a1:a10") 接受變數的字串,工作表有反應.
  6.    
  7.     A = "B1:B10"
  8.     [A] = 10        '->["a1:a10"] 不接受變數的字串,工作表沒反應.
  9.    
  10.     [D1:D10] = 10    'D1:D10 為工作表的範圍  ,工作表有反應.
  11.    
  12.     ActiveWorkbook.Names.Add Name:="TEST", RefersTo:=Sheets("Sheet2").Range("G1:G10")
  13.     'Sheet2選定範圍,定義名稱 為TEST
  14.    
  15.     [TEST] = 10    '接受工作表定義名稱的範圍 ,Sheet2 工作表有反應.
  16. End Sub
複製代碼

TOP

部份了解,另再試問前輩,[A] = 10        '->["a1:a10"] 不接受變數的字串,工作表沒反應.

不接受變數的字串,指的是代表其內含值,但不顯示在工作表指定之範圍內嗎?

TOP

回復 3# cmo140497

中括號的使用,簡單的說是名稱包裝
中括號內的文字敘述,就是活頁簿中的名稱
名稱在APPLICATION中他就是一個變數名稱的性質
[A]這樣的寫法,你必需再工作表中有設置一個名為A的定義名稱
[A]就會指向該定義名稱
同樣道理
[A1:A10]這樣就會指到A1:A10的範圍
中括號中是不允許使用字串常數的
當你用雙引號把名稱包覆時["A1:A10"],此時是個字串型態而不是NAME物件
這樣就不被EXCEL所接受
學海無涯_不恥下問

TOP

感謝版主的指明,又學一招了,太感謝您了!

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題