返回列表 上一主題 發帖

除錯

回復 1# 藍天麗池
  1. .Offset(1).Cells(1, 1).Resize(, 1) = Rng.Cells(, 1).Resize(, 1).Value
複製代碼
往下填寫?
Cells沒有負數。
語法
運算式 . Cells
運算式 代表 Worksheet 物件的變數。

Offset才有負數。
語法
運算式 . Offset( RowOffset, ColumnOffset )
RowOffset        選用        Variant        該範圍要位移的列數,可為正值、負值或 0 (零)。正值表示向下位移,負值表示向上位移。預設值為 0。
ColumnOffset        選用        Variant        該範圍要位移的欄數,可為正值、負值或 0 (零)。正值表示向右位移,負值表示向左位移。預設值為 0。
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

回復 5# 藍天麗池


    可能你要先看一下運算式
通常我只用Cells或Range這兩個去找儲存格位置
Offset我會用於開頭時的儲存格
例如:(假設A欄位與B欄位第一個都有值)
  1. For Each A In Range("A:A")
  2. C = A.Offset(0,0).Value
  3. Next
複製代碼
  1. For Each A In Range("B:B")
  2. C = A.Offset(0,0).Value
  3. Next
複製代碼
第一個A:A
得出的C位置為Range("A1")
第二個B:B
得出的C位置為Range("B1")
有注意到嗎
明明都一樣是C = A.Offset(0,0).Value
但結果卻不一樣
Offset是有負數值得
如果再用第二個B:B去帶
C = A.Offset(0,-1).Value
C這時候的位置變成Range("A1")

然而Cells是從整張活頁簿的左上角開始計算
就像數學的X與Y軸關係
不管你怎麼寫Cells(1,1)就是Range("A1")
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

回復 8# 准提部林


    謝謝准大提醒!

回復 1# 藍天麗池
然而Cells是從整張活頁簿的左上角開始計算
就像數學的X與Y軸關係
不管你怎麼寫Cells(1,1)就是Range("A1")

這句話需要做更正
我想表達的是起始位置
但用錯說法
Cells並非絕對位置
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

        靜思自在 : 【停滯不前,終無所得】人都迷於尋找奇蹟,因而停滯不前;縱使時間再多、路再長,也了無用處,終無所得。
返回列表 上一主題