2014-06-22 42 views
0

我想查找&用一個單一命令的同義詞代替列表中的100個單詞,例如, 「移動」,「愛」與「浪漫」,「遙遠」與「遙控」,「主題」與「物質」等。查找並替換多個不同的單詞

+0

這是一個很好的問題(儘管downvote),但我懷疑你將需要使用VBA(Visual Basic for Applications)來編寫一個可以做到這一點的腳本。我已經爲您的問題添加了額外的標籤,希望它能吸引比迄今爲止收到的更多有建設性的反饋。 – Bobulous

+1

這可能是一個很好的問題嗎?它是不存在的例子,請求的簡短性,還是缺乏對你有吸引力的格式? – brettdj

+0

謝謝Arkanon,但你能告訴這是VBA腳本請 – Sidharth

回答

0

這裏是一個小樣本,讓你開始:

Sub xLator() 
    from = Array("go", "love", "distant") 
    too = Array("move", "romance", "remote") 
    For i = LBound(from) To UBound(from) 
     Cells.Replace What:=from(i), Replacement:=too(i) 
    Next i 
End Sub 

當然,你將擴大平移陣列來滿足您的需求,也許限制的範圍內,如果這是一個要求。

編輯#1:

工作表Sheet1包含數據和Sheet2中包含在列一個B.這個宏輸入表,並應用它的轉換表:

Sub xLator2() 
    Dim s1 As Worksheet, s2 As Worksheet 
    Dim N As Long, i As Long 
    Dim from(), too() 
    Set s1 = Sheets("Sheet1") ' contains the data 
    Set s2 = Sheets("Sheet2") ' contains the translation table 

s2.Activate 

    N = Cells(Rows.Count, 1).End(xlUp).Row 
    ReDim from(1 To N) 
    ReDim too(1 To N) 
    For i = 1 To N 
     from(i) = Cells(i, 1).Value 
     too(i) = Cells(i, 2).Value 
    Next i 

s1.Activate 

    For i = LBound(from) To UBound(from) 
     Cells.Replace What:=from(i), Replacement:=too(i) 
    Next i 
End Sub 
+0

非常感謝Gary,我可以一次找到1000多個單詞並替換,限制是多少? – Sidharth

+0

@Sidharth 1000字很容易。如果您有這麼多單詞,我會將翻譯表放在單獨的工作表中的列中。 –

+0

你能舉例說明如何在單獨的工作表中將翻譯表放在列中,同時我想知道1000是否容易,那麼最大可以獲得10000或15000的限制或什麼?請回答 – Sidharth

-1

您將不得不使用Excel VBA來完成這個。或者,如果您瞭解Perl,則可以使用Perl讀取/寫入XLS文件。由於我不知道Excel VBA,因此我使用Perl來執行此操作。

+0

你可以給我的Perl腳本,我可以複製和粘貼獲得結果和同時指導如何以及在哪裏粘貼它。 – Sidharth

相關問題