1

我对 Excel VBA 宏很陌生,循环时遇到问题。需要一些帮助。我已经描述了整个过程。

我有一个名为 Shipper VP 的源 Excel 选项卡。对于三个不同的人 Jason、Ken 和 Steve,它具有不同年份的不同月份的 Shipment 值。

我想使用循环创建一个 Excel 宏。我通过为每个人录制三个不同的宏来完成整个工作。但是这些宏中的代码很长,而且大部分内容都很常见,我想使用循环并使代码高效,而无需手动输入任何值。

我想使用一个循环, For n = 1 to 3; 当 n = 1 时,

我想创建一个额外的工作表并通过从 Shipper VP 选项卡复制人的姓名来重命名它,在这种情况下是 B4 值。因此,现在创建了一个附加工作表,并将其命名为 JASON。

之后,我想在 JASON 选项卡中输入不同的值。

现在在接下来的重要步骤中,我想将不同的列值从 Shipper VP 选项卡复制到 Jason 选项卡。

将 B9:B17 的值(从 Shipper VP 选项卡)复制到单元格值 D7:D15(到 JASON 选项卡)。
将 B19:B30 的值(从 Shipper VP 选项卡)复制到单元格值 D16:D27(到 JASON 选项卡)。
将 B32:B43 的值(从 Shipper VP 选项卡)复制到单元格值 D28:D39(到 JASON 选项卡)。
将 B45:B56 的值(从 Shipper VP 选项卡)复制到单元格值 D40:D51(到 JASON 选项卡)。
将 B58:B69 的值(从 Shipper VP 选项卡)复制到单元格值 D52:D63(到 JASON 选项卡)。

之后,在 JASON 选项卡中再次输入许多其他值并完成一系列计算,并根据两个不同列中的值,创建一个标题为 JASON 的图表,并将图表重命名为 Jason 。

现在在下一个循环中,n=2,

我想为第二个人 Ken 做同样的事情。

我想创建第二张工作表并通过从 Shipper VP 选项卡中复制人的姓名来重命名它,在这种情况下是 C4 值。因此,现在创建了一个附加工作表,并将其命名为 KEN。

之后,我想在 KEN 选项卡中输入不同的值,这与我为 JASON 所做的完全一样。

但现在我想将不同的列值从 Shipper VP 选项卡复制到 KEN 选项卡。

将 C9:C17 的值(从 Shipper VP 选项卡)复制到单元格值 D7:D15(到 KEN 选项卡)。
将 C19:C30 的值(从 Shipper VP 选项卡)复制到单元格值 D16:D27(到 KEN 选项卡)。
将 C32:C43 的值(从 Shipper VP 选项卡)复制到单元格值 D28:D39(到 KEN 选项卡)。
将 C45:C56 的值(从 Shipper VP 选项卡)复制到单元格值 D40:D51(到 KEN 选项卡)。
将 C58:C69 的值(从 Shipper VP 选项卡)复制到单元格值 D52:D63(到 KEN 选项卡)。

之后,在 KEN 选项卡中再次输入了许多其他新值,并完成了一系列计算,并根据两个不同列中的值,创建了一个标题为 KEN 的图表,并将图表重命名为 Ken。(这部分与 JASON 之前所做的相同)。

现在在下一个循环中,n = 3,我希望第三个人 Steve 得到同样的结果(这次所有的值都来自 Shipper VP 选项卡的 D 列)。

我想完整地描述整个过程。对循环代码的任何帮助将不胜感激。基本上,主要问题是将不同列的值从 Shipper VP 复制到各个选项卡并在循环中递增。可以进行计算。

4

1 回答 1

0
  1. 制作 3 个标签,每个 VP 一个。
  2. 使用图表和所有内容根据需要设置每个选项卡。只要记住引用 Shipper VP 选项卡(即使用=ShipperVP!A1),不要复制任何这些值。

实际上,就是这样。无需代码,您只需执行一次!

更进一步,您可能还需要制作 3 个单独的文件,以便您可以向每个人发送他们自己的选项卡:

  1. 编写一个宏来打开第一个 VP 选项卡。
  2. 全选
  3. 复制
  4. 粘贴值(这摆脱了引用)
  5. 将选项卡作为新选项卡复制到新工作簿中
  6. 使用唯一名称保存新工作簿
  7. 重复下一个 VP。

为了节省重复代码,您可以将步骤 1-6 放入以 VP 名称作为参数的函数中。

于 2013-06-04T21:37:05.350 回答