如果我有这个专栏:
ColA
-----
NUMBER(8,3)
NUMBER(20)
Run Code Online (Sandbox Code Playgroud)
我需要一个VBA函数(注意这些开始和结束字符串只会在单元格中出现一次):
extract_val(细胞,start_str,end_str)
即.extract_val(A1,"(",")")并给出结果:
8,3
20
Run Code Online (Sandbox Code Playgroud)
我只需要在其他vba代码中使用此函数,而不是将其作为公式放在工作表上.
更新(感谢答案,我决定:)
---------------------------
Public Function extract_value(str As String) As String
Dim openPos As Integer
Dim closePos As Integer
Dim midBit As String
On Error Resume Next
openPos = InStr(str, "(")
On Error Resume Next
closePos = InStr(str, ")")
On Error Resume Next
midBit = mid(str, openPos + 1, closePos - openPos - 1)
If openPos <> 0 And Len(midBit) > 0 Then
extract_value = midBit
Else
extract_value = "F"
End …Run Code Online (Sandbox Code Playgroud)