2016-11-22 136 views
1

如何修改此腳本以僅在特定列中查找和替換?在特定Excel列中查找並替換

Set xl = CreateObject("Excel.Application") 
    xl.Visible = True 
Set wb = xl.Workbooks.Open("C:\Users\test.xlsx") 
Set ws = wb.Sheets("Sheet1") 

Set objRange = ws.Range("Q1").End(xlDown).Select 
objRange.Replace "~*", "" 

當前腳本在Set objRange行上給出錯誤。在整個表中替換*將會干擾公式。

+1

這是Excel的VBA或VBScript?如果前者更改標籤。如果後者,'ActiveSheet'沒有在VBScript中定義。 –

+0

這是vbscript作爲標題和標籤說的。 – user24

+0

令人驚訝的是,大量的人將Excel的腳本語言與VBScript混淆。你的代碼使用'ActiveSheet',這在VBA中比在VBScript中更有意義。如果是VBScript,那麼'ActiveSheet'只是另一個需要設置的變量:'Set ActiveSheet = xlApp.ActiveSheet'(用Excel應用程序使用的任何變量替換'xlApp')。不太確定你爲什麼選擇列。範圍不需要被選擇以便被搜索。 –

回答

1

你在想太複雜。只是告訴你想要的整個QRange財產和直接調用Replace方法Range對象:

ws.Range("Q:Q").Replace "~*", "" 
+0

謝謝Ansgar,你的建議完美運作。 – user24