Ich möchte verschiedene Variablen mit Strings füllen die jeweils 10 Zeichen lang sein müssen.
Die Eingabe kann aber auch weniger als 10 Zeichen betragen. Ist dies der Fall, so soll automatisch mit Leerzeichen bis auf 10 Stellen aufgefüllt werden…
Dim Result As String
Dim myString As String
…
myString = „abc“
…
Result = FillStr(myString , 10)
…
Function FillStr(tStr As String, tLen As Integer)As String
Dim ii As Integer
For ii = 1 To tLen - Len(Trim(tStr))
FillStr = FillStr + " "
Next ii
FillStr = FillStr + Trim(tStr)
End Function
Alternativ zu den anderen Vorschlägen kannst du auch direkt bei der Variablen-Deklaration sagen das es ein String fester Länge sein soll.
Die Variable wird von VB oder VBA in irgendeinen freien Speicherbereich gelegt und erst vernünftig gesetzt sobald du das erste mal was reinschreibst. Vorher steht halt das drin, was vorher in dem Speicherbereich stand. In aller Regel lauter chr(0).
Do sieht das aus:
dim MeinString as string * 10
MeinString=„Test“
Danach steht da Test mit 6 Leerzeichen drin.
Gruss,
Volker (aka Bommel)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]