2013-02-08 73 views
0

我對Excel有點新,我不確定是否需要公式或宏來完成此任務。Excel如果/然後替換文本

我需要找到的「簡·史密斯」的所有實例,並用她的僱員代替它,可以說其513

名字只出現在A列,並有可能成爲多個實例,所以我需要搜索列A下的所有單元格。我需要爲多個員工這樣做,所以我猜它是一個大的If/Then/Else。謝謝!

+2

如果是一次性工作,僅限於Jane Smith,我會使用Replace(Ctrl-H)。如果不是這種情況,你能否描述一下employeeID從哪裏來? – 2013-02-09 05:19:17

回答

1

如果名稱是單元格中的唯一文本,那麼您可以查看VLOOKUP公式。

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 

這種嘗試搜索「簡·史密斯」的每一個可能的匹配,並與她的僱員來替換它

0

如果您是新的Excel,您是不是在找一個VBA解決方案在別處得到解答。

最簡單的方法.....如果你只是想取代「簡·史密斯」到「513」,這個怎麼樣: 1.轉到單元格A1 2.按Ctrl +空格鍵(高亮顯示A列) 3. Ctrl + H(打開查找/替換窗口) 4.將「Jane Smith」放在find中並將「513」替換。

如果你只有幾件事要做,這是要走的路。

如果你想使用公式來做到這一點正確的方式,這就是你想要的: 1)創建一個新的標籤與2列。在A欄中,輸入所有員工的姓名。在B欄中,輸入相應的員工編號。如果你有10名員工,表格將從A1運行到B10。雙擊選項卡將其命名爲「tab2」

2)在當前選項卡或文件中,轉到單元格A1並插入一列(Alt + I + C)。現在你有一個新的空白列A,所有的名字現在都在B列。假設第一個名字從第五行開始,在所有標題之後。所以你的名字假設在B5單元格中。

3)在新的空白列A,單元格A5,使用這個公式:

=VLOOKUP(B5,'tab2'!$A$1:$B$10,2,0) 

這個公式將在「TAB2」查找整個單元格A1-B10,找到你在B5單元格鏈接什麼,這將是一個像「Jane Smith」這樣的名字。它會在tab2列A中找到這些數據,並在第二列中查找。末尾的零隻是告訴公式僅使用精確的結果。

- 如果您希望數字留在新列B中,有很多方法可以做到這一點,例如,插入新列A,將列B複製到列A,然後在列B中寫入查找公式,看A列。但這應該讓你開始。