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

说我在macros观上有这样的一行:

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

我怎样才能编程(只通过VBA),使得如果行或列被插入到A1A2之间, A1B2之间的表1,它不会混乱,因为行号被改变?

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

如果A1是一个结果的重要位置,它可以被称为“myResult”,如果A5是一个重要的input地方,那么它可以被称为“myInput”。 你的代码会变成:

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

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

还是我误解了这个问题?

如果这些范围A1A5实际上总是在一个表格中相同的相对位置(例如右下angular),则解决scheme将是不同的。