Excel VBA如何防止在插入新行时搞砸了?

时间:2013-01-02 02:15:18

标签: excel excel-vba vba

说我在宏中有这一行:

Sheets("sheet1").Range("A1").Value = Sheets("sheet2").Range("A5").Value

我如何以编程方式(仅通过VBA)进行编辑,以便在{1}}和A1A2A1之间的工作表1中插入行或列,因为行号被改变了,它不会搞乱吗?

1 个答案:

答案 0 :(得分:1)

避免这类问题的标准方法是使用Named ranges

如果A1是结果的重要位置,则可以将其称为“myResult”,如果A5是输入的重要位置,则可以将其称为“myInput”。然后您的代码将更改为:

Sheets("sheet1").Range("myResult").Value = Sheets("sheet2").Range("myInput").Value

无论您现在插入多少列或行,上面的代码总是会找到相同的单元格。

或者我是否误解了这个问题?

如果这些范围A1A5实际上始终位于表格中的相同位置,例如右下角,然后解决方案会有所不同。