我对Excel有些陌生,我不确定是否需要公式或宏来完成此任务。
我需要找到"Jane Smith“的所有实例,并将其替换为她的employeeID,假设它是513。
姓名只出现在A列中,并且可能有多个实例,因此我需要搜索A列下的所有单元格。我需要为多个员工执行此操作,因此我猜它是一个大的If/Then/Else。谢谢!
发布于 2013-02-09 06:36:01
如果名称是单元格中唯一的文本,则可以查看VLOOKUP公式。
发布于 2013-02-12 12:23:02
嗯,试试这个:
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
发布于 2013-02-22 16:32:03
如果您是excel新手,那么您不需要其他地方回答的VBA解决方案。
最简单的方法你只需要将"Jane Smith“替换为"513",这样如何: 1.转到单元格A1 2.按Ctrl +空格键(突出显示A列) 3.按Ctrl +H(打开查找/替换窗口) 4.在”find“中输入"Jane Smith”,在replace中输入"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列中找到此数据,并在第二列中查找。末尾的零只告诉公式只使用精确的结果。
--如果您希望数字保留在新的列B中,有许多方法可以做到这一点,例如,插入新的列A,将列B复制到列A,然后在列B中写入vlookup公式,忽略列A。但这应该可以让您开始。
https://stackoverflow.com/questions/14782442
复制相似问题