La función `ReemplazarSaltosLinea` hace lo siguiente: 1. Recorre el texto carácter por carácter 2. Cuando encuentra un salto de línea (código ASCII 10 o 13), verifica: - Si el siguiente carácter NO es un espacio - Y si el último carácter agregado NO es un espacio 3. Solo en ese caso, reemplaza el salto de línea por un espacio ```pascal Public Function ReemplazarSaltosLinea(texto As String) As String ' Declaración de variables Dim resultado As String Dim i As Long Dim longitudTexto As Long Dim caracterActual As String Dim caracterSiguiente As String ' Inicializar variables resultado = "" longitudTexto = Len(texto) ' Recorrer el texto caracter por caracter For i = 1 To longitudTexto caracterActual = Mid(texto, i, 1) ' Si no es el último caracter, obtener el siguiente If i < longitudTexto Then caracterSiguiente = Mid(texto, i + 1, 1) Else caracterSiguiente = "" End If ' Verificar si el caracter actual es un salto de línea If Asc(caracterActual) = 10 Or Asc(caracterActual) = 13 Then ' Si el siguiente caracter no es un espacio y el último caracter agregado no es un espacio If caracterSiguiente <> " " And Right(resultado, 1) <> " " Then resultado = resultado & " " End If Else resultado = resultado & caracterActual End If Next i ReemplazarSaltosLinea = resultado End Function ' Función de prueba Sub ProbarReemplazarSaltosLinea() ' Casos de prueba Dim texto1 As String texto1 = "Hola" & vbCrLf & "mundo" Debug.Print "Prueba 1: " & ReemplazarSaltosLinea(texto1) ' Debería imprimir: "Hola mundo" Dim texto2 As String texto2 = "Hola " & vbCrLf & "mundo" Debug.Print "Prueba 2: " & ReemplazarSaltosLinea(texto2) ' Debería imprimir: "Hola mundo" Dim texto3 As String texto3 = "Hola" & vbCrLf & vbCrLf & "mundo" Debug.Print "Prueba 3: " & ReemplazarSaltosLinea(texto3) ' Debería imprimir: "Hola mundo" End Sub ```