我有一个连接到 SAP 程序的 Excel 表,所有数据都来自那里。我需要向表中添加 3 个新行,而不需要对 VBA 代码进行太多更改。例如,我不想仅仅因为新行而手动将每一行更新为
Cells(13,1).Value = StrMat
到 Cells(16,1).Value = StrMat
。
有更简单的方法吗?我有超过 10 个模块和 2000 行代码,手动更新 13 行之后的每一行并添加 2 行将是一项繁重的工作。
我手动添加了 2 行进行检查,但是当我运行代码时,旧行中的数据会转到新的空行,但我不希望这样。
所以让我重新表述一下,我添加了 2 行 18 和 19。 在第 20 到 30 行后面,我得到了一些模块和函数,这些函数会根据我读到的内容自动更改。但例如模块中的代码
Worksheet.Cells(1, 18).value = 170
我必须将其更改为
Worksheet.Cells(1,20).value = 170
因为第 18 行现在是新的空行。
是否有其他方法可以自动执行 18 以下所有行的所有 Worksheet.Cells 更改?
解决此问题的方法之一是定义一个名称
Target1=sheetname!A18
。然后您可以为相应的范围分配值Range(Names("Target1"))=170
。
Target1 中的引用将随着之前插入的行或列而更改。