我對Excel有點新,我不確定是否需要公式或宏來完成此任務。Excel如果/然後替換文本
我需要找到的「簡·史密斯」的所有實例,並用她的僱員代替它,可以說其513
名字只出現在A列,並有可能成爲多個實例,所以我需要搜索列A下的所有單元格。我需要爲多個員工這樣做,所以我猜它是一個大的If/Then/Else
。謝謝!
我對Excel有點新,我不確定是否需要公式或宏來完成此任務。Excel如果/然後替換文本
我需要找到的「簡·史密斯」的所有實例,並用她的僱員代替它,可以說其513
名字只出現在A列,並有可能成爲多個實例,所以我需要搜索列A下的所有單元格。我需要爲多個員工這樣做,所以我猜它是一個大的If/Then/Else
。謝謝!
如果名稱是單元格中的唯一文本,那麼您可以查看VLOOKUP
公式。
烏姆試試這個:
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
這種嘗試搜索「簡·史密斯」的每一個可能的匹配,並與她的僱員來替換它
如果您是新的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列。但這應該讓你開始。
如果是一次性工作,僅限於Jane Smith,我會使用Replace(Ctrl-H)。如果不是這種情況,你能否描述一下employeeID從哪裏來? – 2013-02-09 05:19:17