Vba 在不同的工作表上查找匹配项,然后替换该行中的单元格

Vba 在不同的工作表上查找匹配项,然后替换该行中的单元格,vba,excel,find,offset,Vba,Excel,Find,Offset,我不是VBA专家,所以通过录制宏来努力实现这一点-我目前没有正在使用的宏,因为我尝试的宏似乎删除了随机单元格 我有一系列数据: 第1页A-p列和第5-54行 我在表2中有两个值,搜索ID(C2)和新输入(F2) 我想在第1页A列中搜索搜索ID(第2页,C2),然后用第2页F2中的值替换该行p列中的值 这是在我想在现场或场外更改的项目登记册上使用的(登记册为第1页),移动项目的ID放在第2页C2中,然后F2使用=vlookup来显示项目的当前状态,然后使用下拉框对其进行更改,我希望将此更新复制到旧

我不是VBA专家,所以通过录制宏来努力实现这一点-我目前没有正在使用的宏,因为我尝试的宏似乎删除了随机单元格

我有一系列数据:

第1页A-p列和第5-54行

我在表2中有两个值,搜索ID(C2)和新输入(F2)

我想在第1页A列中搜索搜索ID(第2页,C2),然后用第2页F2中的值替换该行p列中的值

这是在我想在现场或场外更改的项目登记册上使用的(登记册为第1页),移动项目的ID放在第2页C2中,然后F2使用=vlookup来显示项目的当前状态,然后使用下拉框对其进行更改,我希望将此更新复制到旧寄存器以进行更新

公式的其余部分将清除位置形式的变化,并将vlookup重新填充到F2单元中:

Sheets("Sheet 2").Select
Range("C2").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "HPC-RS-"
Range("F2").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = _
    "=IFERROR(VLOOKUP(R2C3,'Sheet 1'!R5C1:R54C16,15,FALSE),"""")"
你的“删除随机单元格”评论让我相信,也许你不是故意在代码中使用R1C1相对单元格符号,而不是“标准/绝对”A1符号

例如,
Range(F2)
指的是F列和第2行交叉处的单元格,而
R4C2
指的是“当前活动的任何单元格”右侧的4行和2列单元格

录制宏之前,可以使用“录制宏”按钮附近的按钮启用/禁用相对引用。(我正在打电话,所以我无法再次检查按钮…)

Excel宏中的相对引用是指相对于当前活动单元格的引用。因此,在记录相对引用宏和运行相对引用宏时,请谨慎选择活动单元格


本页将引导您完成这两种类型宏的演示:

您可以通过在第一页上获取ID的行和列的方法轻松完成此操作,以便用新值替换它