While there is a native VBA Trim function, it only removes spaces from the left and right ends. It does not also change double spaces between words to a single space. To do that, you can use the WorksheetFunction object and the worksheet's TRIM function.
Sub myTrim()
dim rng as range
for each rng in Selection
'use only one of these
rng = Trim(rng.Value)
rng = WorksheetFunction.Trim(rng.Value)
next rng
End Sub
See How to avoid using Select in Excel VBA macros for more boilerplate on running code against the Application.Selection property.
For quick full column trimming, a Range.TextToColumns method works very well.
Sub myTrim2()
Dim col As Range
For Each col In Selection.Columns
col.TextToColumns DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
Next col
End Sub
This latter method does not remove internal double spaces; only leading and trailing spaces.
It is not a good idea to name your procedures and/pr functions the same as existing functions unless you intentionally want to overwrite the functionality.