2017-04-22 92 views
1

我得到一個套用公式所有使用範圍

類型不匹配

錯誤,每當我嘗試運行此語法。基本上我想要做的就是將公式應用到整個使用範圍的列A中。我應該改變什麼,以便根據需要執行?

Dim wSheet As Worksheet: Set wSheet = Sheets("Master") 
Dim lr As Long: lr = wSheet.Cells(wSheet.Rows.Count, "A").End(xlUp).Row 
Dim form 

form = "=SUBSTITUTE(TRIM(D2),"-","")" 

With w.sheet 
    .Range("A2:A" & lr).FormulaR1C1 = form 
End With 

回答

1

D2是xlA1 sytax;不是xlR1C1語法。使用RC[3]向D2提供關係地址或使用.Formula和xlA1語法。您還需要在引用的字符串中加倍引號。

With wSheet 
    lr = .Cells(.Rows.Count, "D").End(xlUp).Row 
    form = "=SUBSTITUTE(TRIM(D2),"" - "", TEXT(,))" 
    .Range("A2:A" & lr).Formula = form 
    form = "=SUBSTITUTE(TRIM(RC[3]),"" - "", TEXT(,))" 
    .Range("A2:A" & lr).FormulaR1C1 = form 
End With 

順便說一句,TEXT(,)相同""

+0

使用'TEXT(,)'而不是''「'有沒有優勢? – YowE3K

+0

你不必輸入'「」「」'我發現只是混淆了事情。 – Jeeped

+0

我想這是一個很好的理由。 :d – YowE3K