標題:
[發問]
請問offset(變數)該如何編寫
[打印本頁]
作者:
lifedidi
時間:
2014-3-31 16:45
標題:
請問offset(變數)該如何編寫
請教各位先進
Offset是否可以用變數控制呢?想法如下!
小弟測試後 怪怪的 請教高手 謝謝!
x = "A1"
y = "0,0"
Sheet2.Range(x).Offset(y) = "A"
y = "1,3"
Sheet2.Range(x).Offset(y) = "B"
y = "3,1"
Sheet2.Range(x).Offset(y) = "C"
作者:
c_c_lai
時間:
2014-3-31 17:28
回復
1#
lifedidi
運算式 Offset(RowOffset, ColumnOffset)
RowOffset
選用 Variant 該範圍要位移的列數,
可為正值、負值或 0 (零)。正值表示向下位移,
負值表示向上位移。預設值為 0。
ColumnOffset
選用 Variant 該範圍要位移的欄數,
可為正值、負值或 0 (零)。正值表示向右位移,
負值表示向左位移。預設值為 0。
以你目前之範例模式為解題:
Sub Test()
Dim x As String, y As String
x = "A1"
y = "0,0"
' 錯誤引用: Sheet2.Range(x).Offset(y) = "A"
Sheet2.Range(x).Offset(Val(y), Val(Mid(y, InStr(y, ",") + 1))) = "A"
y = "1,3"
' 錯誤引用: Sheet2.Range(x).Offset(y) = "B"
Sheet2.Range(x).Offset(Val(y), Val(Mid(y, InStr(y, ",") + 1))) = "B"
y = "3,1"
' 錯誤引用: Sheet2.Range(x).Offset(y) = "C"
Sheet2.Range(x).Offset(Val(y), Val(Mid(y, InStr(y, ",") + 1))) = "C"
End Sub
複製代碼
作者:
GBKEE
時間:
2014-3-31 19:59
回復
1#
lifedidi
Option Explicit
Sub Test()
Dim x As String, y As Variant
x = "A1"
y = "0,0"
y = Split(y, ",")
Sheet2.Range(x).Offset(y(0), y(1)) = "A"
y = "1,3"
y = Split(y, ",")
Sheet2.Range(x).Offset(y(0), y(1)) = "B"
y = "3,1"
y = Split(y, ",")
Sheet2.Range(x).Offset(y(0), y(1)) = "C"
End Sub
複製代碼
作者:
c_c_lai
時間:
2014-4-1 07:47
本帖最後由 c_c_lai 於 2014-4-1 08:39 編輯
回復
1#
lifedidi
回復
3#
GBKEE
應用 y = Split(y, ",") 更簡潔,亦是不錯的引用!
作者:
yangjie
時間:
2014-4-1 23:19
回復
1#
lifedidi
我想 你的問題是想位移向下 a 向右 b
sheets("TEST").cells(i,j).offset(a,b)="試試看1"
此時 i,j,a,b 均可為變數
sheets("TEST").cells(i,j).offset(,b)="試試看2"
空白表示維持原列或原欄
不知有否幫助
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)