将公式转换成VBA
有没有人知道如何将这个公式=RIGHT(C1,LEN(C1)-SEARCH(":",C1))
转换成VBA语法? 我想在我的Excel C列中使用这个公式,每个单元格包含一个":"
。 我只是想删除":"
之前的内容。
提前致谢!
一个简单的方法是打开macroslogging器,然后input你的公式。 然后你可以检查macros的结果。 您的问题主要是您需要在VBA中背靠背使用两个引号,以在公式栏中反映一个报价。
这就是说 – 为了避免R1C1风格,你会做Cells(1,1).Formula = "=RIGHT(C1,LEN(C1)-Search("":"",C1))"
你不会说你想要做什么的结果
用户定义函数= mid(c1,find(“:”,c1))
但
VBA = mid(范围(“C1”),instr(范围(“C1”),“:”))
在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
并使用它与一个string或范围
Debug.Print RemoveBeforeColon("ABC:123")
要么
Debug.Print RemoveBeforeColon( Sheet1.Range("C1").Value2 )