2015-10-20 69 views
0

我想删除其中的所有单元格“A1”的行以“ActiveCell.Address”ActiveCell.Address在范围内VBA

尝试这种代码:

Range(" A1:ActiveCell.Address").Delete Shift:=xlUp 

但我发现了一个错误(运行时错误1004)。

是不是可以在一个范围内引用ActiveCell的地址?

如果是这样,是否有替代方案?

我的代码不正确?

在此先感谢。

回答

1

在您的代码中,您并未评估ActiveCell.Address,因为您已将它放入字符串中。试着用:

Range("A1:" & ActiveCell.Address).Delete Shift:=xlUp 

而且这只会删除A1ActiveCell之间的细胞。要删除行使用:

Range("A1:" & ActiveCell.Address).EntireRow.Delete Shift:=xlUp 
+0

非常感谢,您的第一线 {范围( “A1:” &ActiveCell.Address).Delete换档:= xlUp} **完全解决我的问题** 你SECEND排不neccesery我!因为(在代码的这个阶段,在这个特定的表格),我只有值/文本是A列。 (我应该在我的问题中提到这一点)。 感谢您的提醒! – Cornelis

0

你甚至都不需要的地址是:

Range("A1", ActiveCell).Delete Shift:=xlUp 

就足够了。