START_POSITIONとEND_POSITIONで文字列を分割するExcel VBAで関数が必要です。VBA - startPOSとendPOSでSTRING関数を分割
同様:
function splitxy(text as String, start_pos as Integer, end_pos as Integer) as String
私は配列に私の文字列をオンにし、必要な文字を取得するためのループを使用する必要がある、または簡単な方法はありますか?
START_POSITIONとEND_POSITIONで文字列を分割するExcel VBAで関数が必要です。VBA - startPOSとendPOSでSTRING関数を分割
同様:
function splitxy(text as String, start_pos as Integer, end_pos as Integer) as String
私は配列に私の文字列をオンにし、必要な文字を取得するためのループを使用する必要がある、または簡単な方法はありますか?
要求されるように答えとしてコメント:私の場合は
Function splitxy(Text As String, StartPos As Integer, _
EndPos As Integer) As String
splitxy = Mid(Text, StartPos, EndPos - StartPos + 1)
End Function
私は文字列のサイズより大きい終了位置を求める場合、この作品はありますか? –
ヘルプの「Mid」の仕様をチェックすると、答えが「はい」であることがわかります。 'Mid'は、長さがゼロの場合に空の文字列を返すことを含め、このような状況で望むものを行います。残りの 'Text'を与える' Mid(Text、StartPos) 'と書くこともできます。 –
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
、千seperatorsを持っていたすべての数字も、小数点にカンマを持っていました。私は、このようにそれを解決することができた:
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
半ば(テキスト、start_pos、end_pos - start_pos +1)と間違って何ですか? –
愚かな私...それは間違っている:)答えとして書くと、私はあなたにポイントを与える... –