VBA基于另一个工作表更新一个工作表中的Excel列
我有两张工作表。第一个工作表具有项目编号和项目名称。第二个工作表还包含项目编号和项目名称。第一个工作表中的项目名称不正确,需要使用第二个工作表中的项目名称进行更新。因此:VBA基于另一个工作表更新一个工作表中的Excel列,excel,vba,Excel,Vba,我有两张工作表。第一个工作表具有项目编号和项目名称。第二个工作表还包含项目编号和项目名称。第一个工作表中的项目名称不正确,需要使用第二个工作表中的项目名称进行更新。因此: Worksheet 1: ProjectId ProjectName 1 Apple 2 Orange 3 Banana Worksheet 2: ProjectId ProjectName 1 Chicken 2
Worksheet 1:
ProjectId ProjectName
1 Apple
2 Orange
3 Banana
Worksheet 2:
ProjectId ProjectName
1 Chicken
2 Bacon
3 Beef
我需要创建一个宏,该宏只在工作表2中的行中运行,根据项目ID匹配工作表1,然后使用工作表2中的项目名称更新工作表1中的项目名称
如何使用VBA迭代行,匹配ProjectID,并使用工作表2中的ProjectName更新工作表1中的ProjectName?如Eduardo所述,只需像这样使用VLOOKUP:
- 将工作表1上ProjectName的内容替换为与此类似的函数(但适用于您的特定工作簿):
=VLOOKUP(A2,sheet2!$A$2:$B$100,2,0)
然后把这个公式往下拉。如果这是最终结果,您可能希望复制然后仅粘贴带有值的特殊数据,以便以后该数据保持不变。无需使用VBA。使用VLOOKUP很可能应该使查找范围绝对“=VLOOKUP(A2,sheet2!$A$2:$B$100,2,0)嗨,Alex,如果我必须从不同的工作簿中提取数据,我应该使用什么公式?@Rakeshanan您可以在工作簿中选择范围,Excel将在范围之前放置正确的语法。我认为语法是
[绝对路径]工作表\u name!范围