I have this piece of code that originally uses the replace function(VBA) to replace certain characters in a string or column field in MS Access. The code is in a module.
I need to modify the code so that it trims the space around certain characters. Example, if th appears alone, trim the space from the left, so that it flushes against the numbers. If it has more than one tab(space) to the right, trim it so that there is only one tab space to the right. Same for avenue, trim it so that one tab space is on the left and right.
Here is what I have written:
Public Function TrmSpace(RemoveSpace As String) As String
Dim UserEntry As Variant, CorrectedEntry As Variant
Dim i As Long
ExpectedEntry = Array("th ", " th", " th ", "TH")
CorrectedEntry = Array("th", "th", "th", "th")
TrmSpace = RemoveSpace
For i = 0 To 3
TrmSpace = Trim(TrmSpace, ExpectedEntry(i), CorrectedEntry(i), Compare:=vbTextCompare)
Next
End Function
I changed the function from Replace to Trim but I am doing it wrong.
Thanks everyone!
Guy
Trim only removes leading and trailing spaces from the beginning and end of your string. A simple solutions would be:
That would remove gaps up to eight spaces. If your data has actual tab characters and not spaces you’d need to replace ” ” with vbTab & vbTab & vbTab & vbTab.
A single line of code to ‘squeeze’ any number of repeating spaces to a one space and another to remove the leading space for
thregardless of case, thus reducing the above to this: