删除行的方法excel VBA

时间:2015-08-27 12:25:22

标签: excel vba excel-vba

我想知道使用vba删除excel中的一行的最佳方法

对于我的项目,当我使用方法

删除该行时,每个特定行都与图形链接
Rows(i).delete

它出现在我的图片#REF

我尝试过这种方法

Selection.Insert Shift:=xlUp

但是当我输入数据到同一行时,它不会使用我归因于该行数据的颜色

非常感谢

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用ClearContents? 像这样:

Rows(i).ClearContents

此方法不清除格式或其他内容,只是值或公式。

答案 1 :(得分:0)

通过“图形”我假设你的意思是图表。在Excel中,如果删除图表中系列所基于的范围,则系列将保留在图表上但显示#REF!在系列列表中。因此,除了删除行之外,您还必须从图表中删除该系列。假设图表的名称是“图表1”:

Dim co as ChartObject
Dim c as Chart

Set co = ActiveSheet.ChartObjects("Chart 1")
Set c = co.Chart
On Error Resume next

Do While Err.Number = 0
    c.SeriesCollection("#REF!").Delete
Loop

On Error GoTo 0

在你的行(i)之后放置上面的代码。删除图表中的相关系列也将被删除。