返回列表 上一主題 發帖

[發問] 請問Range內有變數的寫法

[發問] 請問Range內有變數的寫法

請問各位~ 我在別人的VBA中看到這個程式

    x1x = InputBox("請輸入開始row")
    x2x = InputBox("請輸入結束row")
        
    Range("A1:B1").Value = Range("A" & x1x & ":B" & x1x & "").Value
    Range("A2:B2").Value = Range("A" & x2x & ":B" & x2x & "").Value

我想請問Range中的  ("A" & x1x & ":B" & x1x & "")  一堆 " " 和 & 是怎麼來的?

另外想請問Cell和Range都是表示位置
但一個是類似坐標表示法,另一個是直接的位置(ex:C3)表示法
我常常搞不清楚要用哪種表示法 or 要不要加上 " "
請問大家在描述的時候有沒有什麼特別的記憶方法呢?
感謝!!

回復 1# sweetkitty
&   : 連接符號:  連接字串 或數字 前後接須空一格
例如  x1x=10
  "A" & x1x & ":B" & x1x  ->字串  "A10:B10"
" ABC"  : 字串  
""          : 空字串
[A = 1 & 2      ---> "12"    為字串
A=12  &  ""   --->" 12"    為字串
Range :範圍            Range("A10:B10" ).Select
cells: 細胞 單元.      Range(Cells(10, "A"), Cells(10, "B")).Select

TOP

請問先進, 使用 cells(10,"a")  & cells(10,1 ) 兩者寫的方式, 在速度上會有很大的差異嗎 ?
我通常都使用 cells(10,1) 的方式寫, 不過, 欄位多了後, 就還要一個欄位一個欄位數..
Homeman

TOP

回復 3# homeman
cells(10,"a") , cells(10,1 )  欄位參數 差別在用  數字 或  字母字串 ,不知與速度有何關係.

TOP

回復 2# GBKEE


您好~ 非常感謝您的回答
&前後必須空格也是規定阿?
如果不常寫的話真的很難記得呢 >"<

另外請問
Range :範圍            Range("A10:B10" ).Select
cells: 細胞 單元.      Range(Cells(10, "A"), Cells(10, "B")).Select
上面的要加上 " " , 底下的不用
又是什麼道理呢?

TOP

回復 5# sweetkitty
上面的要加上 " " , 底下的不用 又是什麼道理呢?
請看 3#    4#    可嘹解

TOP

回復 6# GBKEE

所以是數字和字串的差別嗎?

感謝你 ^^

TOP

回復 7# sweetkitty

你的問題都是基本語法問題
語法就是程式的文法,使用者要與電腦溝通,就必須遵守這些規則
所謂字串也就是任何字元的常數,被雙引號" "標示起來就叫做字串
如1,2,3等數字原本是數值型態的字元,加上雙引號以後"1","2","3"就變成了字串形態的資料
字串的連接符號就是&,將字串已&符號連接時必須以空白鍵分隔
例如1,2,3這3個數字要連接成123,必須使用&
1 & 2 & 3或"1" & "2" & "3"
但數字以外的字元就必須使用雙引號標示,否則會被認定為變數名稱
執行下列程式,可了解
  1. Sub ex()
  2. MsgBox 1 & 2 & 3
  3. MsgBox "1" & "2" & "3"
  4. MsgBox "A" & "B" & "C"
  5. MsgBox ABC '此結果會顯示空字串
  6. End Sub
複製代碼
RANGE與CELLS請參考VBA說明
1.  Range 屬性
可用 Range(arg) 傳回代表單個儲存格或儲存格範圍的 Range 物件,其中 arg 為範圍名稱(字串型態)。
2.  Cells 屬性
可用 Cells(row, column) 傳回單個儲存格,其中 row 為列索引,column 為欄索引。(索引為欄列的編號,其中column可使用欄名稱字串)
3.  Range 和 Cells
可用 Range(cell1, cell2) 傳回 Range 物件,其中 cell1 和 cell2 為指定起始和終止位置的 Range 物件。
學海無涯_不恥下問

TOP

感謝超級版主的回應... 我的問題真是超初級的阿...  拍水 >///<

TOP

回復 4# GBKEE


    :P 因為以 range & cells 的寫法, 速度上真的有差, 所以, 問了一個笨問題, 謝謝您的回覆.
Homeman

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題