在 Excel 表格中添加行而不更改 VBA 代码

问题描述 投票:0回答:1

我有一个连接到 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 更改?

excel vba row
1个回答
0
投票

解决此问题的方法之一是定义一个名称

Target1=sheetname!A18
。然后您可以为相应的范围分配值
Range(Names("Target1"))=170

Target1 中的引用将随着之前插入的行或列而更改。

© www.soinside.com 2019 - 2024. All rights reserved.