2016-02-25 76 views
0

沒有人知道如何將此公式=RIGHT(C1,LEN(C1)-SEARCH(":",C1))翻譯成VBA語法?我想在我的excel C列中使用這個公式,每個單元格包含一個":"。我只是想在":"之前刪除內容。將公式翻譯成VBA

在此先感謝!

+2

'= RIGHT(RANGE( 「C1」)。值,LEN(RANGE(「C1使用它「).Value)-INSTR(RANGE(」C1「)。Value,」:「))' –

+1

'= Mid(值,InStr(1,value,」:「)+ 1)' – GSerg

+0

@ScottCraner謝謝!有用! –

回答

1

一個簡單的方法就是打開宏記錄器,然後輸入你的公式。然後你可以檢查宏的結果。您的問題主要是您需要在VBA中背靠背使用兩個引號,以在公式欄中反映一個報價。

話雖這麼說 - 爲了避免R1C1風格,你會做Cells(1,1).Formula = "=RIGHT(C1,LEN(C1)-Search("":"",C1))"

1

你不說你想要的結果

用戶自定義函數= MID(C1,找到(「做什麼: 」 C1))

VBA = MID(範圍( 「C1」),INSTR(範圍( 「C1」), 「:」))

1

聲明一個函數在一個Module一個小號

Public Function RemoveBeforeColon(ByVal s As String) As String 
    Dim i As Integer 
    i = InStr(1, s, ":") 
    If i > 0 Then 
     RemoveBeforeColon = Mid(s, i + 1) 
    Else 
     RemoveBeforeColon = s 
    End If 
End Function 

,並用一個字符串或一個範圍

Debug.Print RemoveBeforeColon("ABC:123") 

Debug.Print RemoveBeforeColon(Sheet1.Range("C1").Value2)