如何在Excel VBA中将原点更改为当前单元格的位置?
有没有简单的方法来改变原点,说你的活动单元?类似于Java笛卡尔坐标系?有没有办法做到这一点?所以如果我的活动细胞在(5,4),我可以改变它成为新的(1,1)?如何在Excel VBA中将原点更改为当前单元格的位置?
Cells(1,1)
没有任何东西之前,则默认为“Activebook.cells(1,1)`相反,你可以参照范围限定它:
Range("D5:IV100000").Cells(1,1)
这将意味着细胞D5
或Activebook.Cells( 5,4)
如何设置活动单元的范围作为新的1,1?我有一个指针变量,它等于ActiveCell.Adress(RowAbsolute:= False,ColumnAbsolute:= False)。然后我想用Range(“pointer:IV100000”)设置新的原点。单元格(1,1)。我怎么做? –
重点是没有“1,1”。它是一个基于范围的相对路径,如Range(“A5”)。Cells(1,1)'表示单元格“A5”。 'Cells'属性是距离范围的相对路径。如果没有提供范围,那么'cells(1,1)'指的是'ActiveSheet'。所以你的问题“我如何将activecell设置为新的1,1”是没有意义的。没有绝对的“1,1”。指定你关心Range的范围(“D5”),然后指定你想要的单元的相对位置Range(“D5”)。cells(1,5)'或'Range(“D5”)。Offset 0,5)'或者你有什么。 – JNevill
另外,抱歉在等待答复。上周我在一个偏远地区没有互联网 – JNevill
你可以使用Offset
属性。
因此,如果您当前ActiveCell
是D5单元格,然后ActiveCell.Offset(10, 7)
是指细胞在其下方10行7列到R ight(即单元格K15)。如果ActiveCell
当前是D5,则ActiveCell.Cells(11, 8)
将引用K15。
的两种方法之间的主要区别是,Offset
实际上为零基(即ActiveCell.Offset(0, 0)
相同ActiveCell
),同时Cells
是一个有效的基于(即ActiveCell.Cells(1, 1)
相同ActiveCell
)。
你可以在你的值之前删除行和列......但是这就像一个黑客...... – deHaar