2013-05-17 16 views
6

In JAVA oder C++ können wir etwas in Richtung myString.insert(position, word) tun. Gibt es eine Möglichkeit, das gleiche in Excel VBA String zu tun? In meinem Arbeitsblatt habe ich eine Zeichenfolge wie diese: 01/01/995, ich möchte eine 1 in das Jahr einfügen, also mach es 01/01/1995.Einfügen in eine Excel-VBA-Zeichenfolge

Dim test_date As String 
test_date = "01/25/995" 
test_date = Mid(test_date, 1, 10) & "1" & Mid(test_date, 11, 4) 

Gibt es noch einen einfacheren/eleganteren Weg?

+2

Verwenden 'Mid $' 'nicht Mid' haben, ist der ehemalige eine Stringfunktion, die später eine Funktionsvariante. String-Funktionen sind schneller – brettdj

Antwort

9

Ich glaube nicht, dass es eine sauberere Art, es zu tun, so dass Sie es nur in einer Funktion einpacken könnten. Eine andere Möglichkeit wäre, mit replace, aber es ist nicht sauberer.

Function Insert(source As String, str As String, i As Integer) As String 
    Insert = Replace(source, tmp, str & Right(source, Len(source)-i)) 
End Function 

oder einfach nur ändern, was Sie

Function Insert(source As String, str As String, i As Integer) As String 
    Insert = Mid(source, 1, i) & str & Mid(source, i+1, Len(source)-i) 
End Function 
Verwandte Themen