2014-03-24 100 views
0

GoodDay to you all!Excel中多字替換字符串

我正在開發一個excel項目,我正在尋求一些幫助。我不介意這是通過公式還是腳本解決的。

首先我將提供大圖。我有一大堆SQL查詢在不同位置的各個字段上調用。這些字段標題現在已經改變。我想用這些字段的新名稱來更新SQL查詢。因此,我打算將所有查詢複製到Excel電子表格中,然後查找字符串中的字段名稱,並用另一個表格中的表格中的新字段名稱替換它們。問題是每個查詢需要替換大約10個字段名稱。

所以這就是我的想法。從本質上講,如果我在單元格A1中有一個字符串,並帶有以下單詞:「我們是最好的」。對於字符串中存在的每個單詞,我想檢查它是否存在於另一個工作表的表中。如果表中存在該字,請將其替換。如果沒有,那就移到下一個單詞上。繼續單元格中的每個單詞。

任何可以提供的幫助非常感謝。提前致謝!

+0

我把它替換的單詞是在另一個表單中定義的? – andrewb

+0

是的,替換的單詞將在另一張表中定義。我會在列A中加入原文,並在列B中加入新詞。 – user3456089

回答

0

考慮:

Sub FixIt() 
    Dim r As Range, A As Range 
    Dim s1 As Worksheet, s2 As Worksheet 
    Set s1 = Sheets("Sheet1") 
    Set s2 = Sheets("Sheet2") 
    Set A = s1.Range("A:A").Cells.SpecialCells(xlCellTypeConstants) 
    For Each r In A 
     v = " " & r.Value & " " 
     For j = 1 To 10 
      oldv = " " & s2.Cells(j, 1).Text & " " 
      newv = " " & s2.Cells(j, 2).Text & " " 
      v = Replace(v, oldv, newv) 
     Next j 
     r.Value = Trim(v) 
    Next r 
End Sub 

在此示例中的替換表是Sheet 2中,單元格A1通B10 ...............我墊「空間」,以確保全字替換並避免需要拆分加入