標題:
[發問]
請問vba使用中括號range[],代表什麼意思
[打印本頁]
作者:
cmo140497
時間:
2011-3-16 13:13
標題:
請問vba使用中括號range[],代表什麼意思
不好意思,請問vba使用中括號range[],代表什麼意思?為何不能只使用()呢?
作者:
GBKEE
時間:
2011-3-16 14:31
本帖最後由 GBKEE 於 2011-3-16 14:33 編輯
回復
1#
cmo140497
Sub Ex()
Dim A As String
A = "a1:a10"
Range(A) = 10 '->Range("a1:a10") 接受變數的字串,工作表有反應.
A = "B1:B10"
[A] = 10 '->["a1:a10"] 不接受變數的字串,工作表沒反應.
[D1:D10] = 10 'D1:D10 為工作表的範圍 ,工作表有反應.
ActiveWorkbook.Names.Add Name:="TEST", RefersTo:=Sheets("Sheet2").Range("G1:G10")
'Sheet2選定範圍,定義名稱 為TEST
[TEST] = 10 '接受工作表定義名稱的範圍 ,Sheet2 工作表有反應.
End Sub
複製代碼
作者:
cmo140497
時間:
2011-3-18 08:22
部份了解,另再試問前輩,[A] = 10 '->["a1:a10"] 不接受變數的字串,工作表沒反應.
不接受變數的字串,指的是代表其內含值,但不顯示在工作表指定之範圍內嗎?
作者:
Hsieh
時間:
2011-3-18 08:48
回復
3#
cmo140497
中括號的使用,簡單的說是名稱包裝
中括號內的文字敘述,就是活頁簿中的名稱
名稱在APPLICATION中他就是一個變數名稱的性質
[A]這樣的寫法,你必需再工作表中有設置一個名為A的定義名稱
[A]就會指向該定義名稱
同樣道理
[A1:A10]這樣就會指到A1:A10的範圍
中括號中是不允許使用字串常數的
當你用雙引號把名稱包覆時["A1:A10"],此時是個字串型態而不是NAME物件
這樣就不被EXCEL所接受
作者:
cmo140497
時間:
2011-3-22 10:49
感謝版主的指明,又學一招了,太感謝您了!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)