Попробуйте:
Sub tgr()
'Change this to be the columns you need to adjust
Const sColumns As String = "A:D,F:F"
Dim wb As Workbook
Dim ws As Worksheet
Dim rArea As Range
Dim rData As Range
Dim rLast As Range
Dim aData() As Variant
Dim i As Long, j As Long
Set wb = ThisWorkbook
Set ws = wb.Worksheets("osbstd")
For Each rArea In ws.Range(sColumns).Areas
Set rLast = rArea.Find("*", rArea.Cells(1), xlValues, , , xlPrevious)
If Not rLast Is Nothing Then
With rArea.Resize(rLast.Row)
If .Cells.Count = 1 Then
ReDim aData(1 To 1, 1 To 1)
aData(1, 1) = .Value
Else
aData = .Value
End If
For i = 1 To UBound(aData, 1)
For j = 1 To UBound(aData, 2)
If Len(aData(i, j)) > 0 Then aData(i, j) = Left(aData(i, j) & Space(20), 20)
Next j
Next i
.Value = aData
Erase aData
End With
End If
Next rArea
End Sub