我正在尝试获取有关我一直在努力的Excel宏的最后一步的帮助。我已经设置了一个宏,该宏将从两个不同的工作簿中获取工作表中的数据,并将其粘贴到第三个工作簿中。
第三本工作簿是归因于15个不同雇员的15个文件之一,每个文件都有不同的名称和编号。
我设置了宏以一次打开和更新15个工作簿中的每个工作簿,然后保存并关闭它们,但是现在我需要容纳对15个工作簿的更改(对于员工辞职或新雇员)被雇佣)。
以我编写宏的方式,我必须手动进入代码并将引用更改为15名员工的姓名和ID号。
有没有一种设置它的方法,以便它可以从列表中读取名称和编号(保存在第四个工作簿中),这样我就可以根据需要简单地编辑该列表,并且宏可以保持不变并在循环上运行?我知道我每次必须进行更改时都可以使用“替换”,但是从单个可编辑列表中进行操作仍然会更容易。谢谢。
在下面的示例中,引用了名为Melvin Smith ID#2878的员工:
‘ Using the AutoFilter on the workbook called NEW DD
Windows("NEW DD.xlsx").Activate
ActiveSheet.Range("$H$1:$H$3055").AutoFilter Field:=8, Criteria1:=”=*Melvin Smith*”, _ Operator:=xlAnd
Selection.Copy
‘ Going back to Melvin’s workbook named 2878
Windows("2878.xlsx").Activate
Sheets("D dd N").Select
Range("A1").Select
ActiveSheet.Paste
我知道简单地说“访问此页面”通常是一种不好的形式,但是该解决方案在编码领域是一种基本的解决方案。您需要声明并使用变量来存储员工姓名和相关编号。我建议您从下面的链接开始,给代码另一个镜头,然后如果仍然有问题,请返回。 excel-pratique.com/en/vba/variables.php
—
变体版本
15个电子表格如何命名?您可以重命名它们以匹配员工姓名/号码吗?如果是这样,当您找到新员工时,只要找不到新员工就可以创建新员工。如果是这种情况,您可以将名称或数字传递给变量,然后使用该变量定位WB
—
Raystafarian 2014年