VBA – 使用startPOS和endPOS分割STRING函数

我需要Excel VBA中的一个函数,它将用START_POSITION和END_POSITION分割一个string。

喜欢:

function splitxy(text as String, start_pos as Integer, end_pos as Integer) as String 

我是否需要将我的string转换为数组,并使用循环来获取所需的字符,还是有更简单的方法?

根据要求答复评论:

 Function splitxy(Text As String, StartPos As Integer, _ EndPos As Integer) As String splitxy = Mid(Text, StartPos, EndPos - StartPos + 1) End Function 
 Function splitxy(text As String, start_pos As Integer, end_pos As Integer) As String splitxy = Mid(text, start_pos, (end_pos - start_pos) + 1) End Function 

在我的例子中,所有有数千个分隔符的数字都有一个小数点逗号。 我能够这样解决它:

 Function makeNumber(n As String) n = Replace(n, ",", ".") If Len(n) - Len(Replace(n, ".", "")) > 1 Then Dim dots As Integer Dim pos_of_last_dot As Integer Dim integral As String Dim decimal As String pos_of_last_dot = InStrRev(n, ".", -1) integral = Left(n, pos_of_last_dot) decimal = Mid(n, pos_of_last_dot) integral = Replace(integral, ".", "") decimal = Replace(decimal, ".", "") n = integral & "." & decimal End If makeNumber = n End Function