假设我在宏中有这一行:
Sheets("sheet1").Range("A1").Value = Sheets("sheet2").Range("A5").Value
我怎样才能以编程方式(仅通过 VBA)使其在工作表 1 中插入A1
和A2
, A1
,之间B2
时不会因为行号被更改而搞砸?
避免此类问题的标准方法是使用Named ranges
.
如果A1
是结果的重要位置,则可以称为“myResult”,如果A5
是输入的重要位置,则可以称为“myInput”。然后您的代码将更改为:
Sheets("sheet1").Range("myResult").Value = Sheets("sheet2").Range("myInput").Value
无论您现在插入多少列或行,上面的代码总是会找到相同的单元格。
还是我误解了这个问题?
如果这些范围实际上总是在表格A1
中A5
的相同相对位置,例如右下角,那么解决方案会有所不同。