Any method equivalent to PadLeft/PadRight?
string, vba
Solution
I don't believe there are any explicit `PADLEFT` or `PADRIGHT` functions, but you can use a combination of `SPACE` and `LEFT` or `RIGHT` to prepend spaces to your string, and then grab the right X number of characters.
PADLEFT
strOrdNo = RIGHT(Space(8) & strOrdNo, 8)
If you want a character instead of spaces, you can use `STRING` instead of space (the example below left-pads with X):
strOrdNo = RIGHT(String(8, "X") & strOrdNo, 8)
PADRIGHT
strOrdNo = LEFT(strOrdNo & Space(8), 8)
strOrdNo = LEFT(strOrdNo & String(8, "X"), 8)
Problem
Just wondering, is there any equivalent in VBA to VB .NET's PadLeft and PadRight methods? As of right now, whenever I want to take a string and make it a fixed length with leading spaces, I do a For...Next loop based on the string's length. For example, I would use the following code to format a string to 8 characters with leading spaces: ``` intOrdNoLen = Len(strOrdNo) For i = 1 To (8 - intOrdNoLen) Step 1 strOrdNo = " " & strOrdNo Next ``` Is there a way to do this same thing in fewer lines in VBA?