Function WordWrap(Expression As String, Length As Integer) As String
Dim BufferCrLf() As String
Dim BufferSpace() As String
Dim Buffer As String
Dim k As Long
Dim j As Long
Dim Count As Long
On Error GoTo ErrorWordWrap
BufferCrLf() = Split(Expression, vbCrLf)
For k = 0 To UBound(BufferCrLf())
If Len(BufferCrLf(k)) <= Length Then
Buffer = Buffer & BufferCrLf(k) & vbCrLf
Else
BufferSpace() = Split(BufferCrLf(k), " ")
Count = 0
For j = 0 To UBound(BufferSpace())
Count = Count + Len(BufferSpace(j)) + 1
If (Count <= Length) Then
Buffer = Buffer & BufferSpace(j) & " "
Else
Count = 0
Buffer = Buffer & vbCrLf & BufferSpace(j) & " "
Count = Len(BufferSpace(j)) + 1
End If
Next j
Buffer = Buffer & vbCrLf
End If
Next k
WordWrap = Buffer
Exit Function
ErrorWordWrap:
'coloca aquí el manejo de errores
End Function