Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA宏:使用循环将不同列值从源选项卡复制到3个不同的Excel选项卡_Vba_Excel - Fatal编程技术网

Excel VBA宏:使用循环将不同列值从源选项卡复制到3个不同的Excel选项卡

Excel VBA宏:使用循环将不同列值从源选项卡复制到3个不同的Excel选项卡,vba,excel,Vba,Excel,我是Excel VBA宏的新手,我在循环方面有问题。我需要一些帮助。我已经描述了整个过程 我有一个名为Shipper VP的源Excel选项卡。它有三个不同的人,分别是Jason、Ken和Steve,在不同年份的不同月份的发货值 我想使用循环创建Excel宏。我为每个人录制了三个不同的宏,完成了整个过程。但是这些宏中的代码很长,而且大多数都很常见,我想使用循环,使代码高效,而不需要手动输入任何值 我想使用一个循环,对于n=1到3;当n=1时 我想创建一个额外的工作表,并通过复制发货人VP选项卡中

我是Excel VBA宏的新手,我在循环方面有问题。我需要一些帮助。我已经描述了整个过程

我有一个名为Shipper VP的源Excel选项卡。它有三个不同的人,分别是Jason、Ken和Steve,在不同年份的不同月份的发货值

我想使用循环创建Excel宏。我为每个人录制了三个不同的宏,完成了整个过程。但是这些宏中的代码很长,而且大多数都很常见,我想使用循环,使代码高效,而不需要手动输入任何值

我想使用一个循环,对于n=1到3;当n=1时

我想创建一个额外的工作表,并通过复制发货人VP选项卡中的人员姓名对其进行重命名,在本例中为B4值。因此,现在又创建了一个工作表,名为JASON

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

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

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

之后,在JASON选项卡中再次输入大量其他值,并进行一系列计算,然后根据两个不同列中的值,创建一个标题为JASON的图表,并将图表重命名为JASON

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

我想要第二个叫肯的人也一样

我想创建第二张工作表,并通过复制Shipper VP选项卡中的人名来重命名它,在本例中,该选项卡为C4值。因此,现在创建了另一张图纸,并将其命名为KEN

之后,我想在KEN选项卡中输入与JASON完全相同的不同值

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

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

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

现在在下一个循环中,n=3,我希望第三个人Steve的情况完全相同(这次所有值都取自Shipper VP选项卡的D列)

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

  • 制作3个选项卡,每个VP一个
  • 设置每个选项卡,但你想与图形和一切。请记住引用Shipper VP选项卡(即使用
    =ShipperVP!A1
    ),不要复制任何这些值
  • 事实上,就是这样。不需要代码,只需执行一次

    更进一步,您可能还希望创建3个单独的文件,以便向每个人发送自己的选项卡:

  • 编写宏以打开第一个VP选项卡
  • 全选
  • 抄袭
  • 粘贴值(这将删除引用)
  • 将选项卡作为新选项卡复制到新工作簿中
  • 使用唯一名称保存新工作簿
  • 对下一个VP重复以上步骤

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

    您有任何代码可以共享吗?非常感谢PowerUser的帮助。代码正在运行。拜格拉德会帮忙的。不要忘记+1或绿色勾选从SO获得的任何有用答案:)