Vba 变距基准
我有以下代码:Vba 变距基准,vba,excel,Vba,Excel,我有以下代码: Public Sub test() Dim Tgt As Range Set Tgt = Range("A1") End Sub 我想更改当前为“A1”的Tgt的引用,我只想更改列,而不是行,但我不想再次设置范围(“XX”) 有没有其他方法可以更改Tgt的列 如果我使用Tgt.Column=3,这是不可能的 Tgt.Offset(0,2) 这将把Tgt列移到C/3 这将把Tgt列移动到C/3,正如您所发现的,Tgt.Column=3将不起作用。这是因为范围对象
Public Sub test()
Dim Tgt As Range
Set Tgt = Range("A1")
End Sub
我想更改当前为“A1”的Tgt的引用,我只想更改列,而不是行,但我不想再次设置范围(“XX”)
有没有其他方法可以更改Tgt的列
如果我使用Tgt.Column=3,这是不可能的
Tgt.Offset(0,2)
这将把Tgt列移到C/3
这将把Tgt列移动到C/3,正如您所发现的,
Tgt.Column=3
将不起作用。这是因为范围
对象的列
属性是只读的,因此无法设置其值,只能读取/获取它
看一看
在你的情况下,应该是这样的:
Set Tgt = Range("A1").Offset(0, 2)
为了将称为Tgt
的范围向右偏移0行2列,即在同一行中,从列A到列C,导致单元格C1
请注意,
Range.Offset的正参数分别向下偏移(行)和向右偏移(列)。负参数将向相反方向偏移。正如您所发现的,Tgt.Column=3
将不起作用。这是因为范围
对象的列
属性是只读的,因此无法设置其值,只能读取/获取它
看一看
在你的情况下,应该是这样的:
Set Tgt = Range("A1").Offset(0, 2)
为了将称为Tgt
的范围向右偏移0行2列,即在同一行中,从列A到列C,导致单元格C1
请注意,Range.Offset的正参数分别向下偏移(行)和向右偏移(列)。负参数将以相反的方向偏移。可能是这样的:设置Tgt=Range(“A1”)。偏移量(0,3)
其中3是要偏移的列数。这将产生“D1”。可能是这样的:Set Tgt=Range(“A1”)。Offset(0,3)
其中3是要偏移的列数。这将产生“D1”。虽然您的答案很全面,但我认为@cronos2546达到了目的。OP不想再次设置Tgt
,而是想通过它访问3列。顺便说一句,这正是我所想的。虽然你的答案很全面,但我认为@cronos2546击中了要害。OP不想再次设置Tgt
,而是想通过它访问3列。顺便说一句,我就是这么想的。