我对Excel有点新,我不确定是否需要公式或宏来完成此任务。
我需要找到“简史密斯”的所有实例并将其替换为她的employeeID,比方说是513.
名称仅出现在A列中,并且可能有多个实例,因此我需要搜索A列下的所有单元格。我需要为多个员工执行此操作,因此我猜测它很大{{1 }}。谢谢!
答案 0 :(得分:1)
如果名称是单元格中的唯一文本,那么您可以查看VLOOKUP
公式。
答案 1 :(得分:0)
嗯试试这个:
Sub Test()
Dim empVal As Range
Dim employee As String: employee = "Jane Smith"
Dim replaceStr As String: replaceStr = "513"
Do While Not empVal Is Nothing
Set empVal = activSheet.Columns(1).Find(What:=employee, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not empVal Is Nothing Then empVal = replaceStr
Loop
End Sub
这会尝试搜索“Jane Smith”的每个可能匹配,并将其替换为她的employeeID
答案 2 :(得分:0)
如果您是excel的新手,那么您不会在其他地方找到VBA解决方案。
最简单的方法.....如果您只想将“Jane Smith”替换为“513”,那么: 1.转到单元格A1 2. Ctrl +空格键(突出显示A列) 3. Ctrl + H(打开查找/替换窗口) 4.在查找中放入“Jane Smith”,在替换中放入“513”。
如果你只有一些事可做,这就是你要走的路。
如果您想以正确的方式使用公式,这就是您想要的: 1)创建一个包含2列的新选项卡。在A列中,输入您的所有员工姓名。在B列中,输入相应的员工编号。如果您有10名员工,该表将从A1到B10运行。双击选项卡将其命名为“tab2”
2)在当前标签或文件中,转到单元格A1并插入一列(Alt + I + C)。现在你有一个新的空白列A,所有的名字现在都在B列中。假设第一个名字从第5行开始,在所有标题之后。所以你的名字假设是在B5单元格中。
3)在新的空白栏A中,在单元格A5中,使用以下公式:
=VLOOKUP(B5,'tab2'!$A$1:$B$10,2,0)
此公式将在单元格A1-B10中的“tab2”中查找,以查找您在单元格B5中链接的内容,这将是“Jane Smith”之类的名称。它将在tab2的A列中找到这些数据并查看第2列。最后的零只是告诉公式只使用精确结果。
- 如果您希望数字保留在新列B中,有很多方法可以做到这一点,例如,插入新列A,将列B复制到A列,然后在B列中写入vlookup公式,从A栏看。但这应该让你开始。