Saltar al contenido

Identificar saltos de línea en Excel VBA

Solución:

No hay secuencias de escape en VBA. Utilice el incorporado vbNewLine constante en lugar del equivalente:

hasLineBreaks = InStr(str, vbNewLine) > 0

Por MSDN, vbNewline devuelve un Carácter de nueva línea específico de la plataforma; lo que sea apropiado para la plataforma actual, es decir:

Cr (13) + Cr (10) [on Windows] o, en Macintosh, Chr (13)

Por lo tanto, no es necesario trabajar con códigos de caracteres ASCII, ni siquiera con sus respectivas constantes integradas.

Excepto que Excel eliminará los caracteres CR del contenido de la celda y la forma, y ​​esto no tiene nada que ver con VBA (los caracteres CR se eliminarían de todos modos y ” n” no funcionaría para leer correctamente los datos de Excel en C #, Javascript, o Python) y todo lo que tenga que ver con el contexto del origen de la cadena.

Para leer “saltos de línea” en una cadena con los caracteres CR eliminados, debe buscar linea de alimentación caracteres en la cadenavbLf).

Pero si tu sistemáticamente tratar el linea de alimentación carácter como un final de línea, eventualmente se encontrará con problemas (especialmente entre plataformas), porque ASCII 10 por sí solo no es un salto de línea real en ninguna de las plataformas, y encontrará caracteres ASCII 13 en cadenas que pensó de los que había eliminado los saltos de línea, y seguirán funcionando correctamente en una Mac, pero no en Windows.

VBA no es C # ("n"). Saltos de línea que encontrará en: vbCr o vbLf o vbCrLf constantes.

Para obtener más información, consulte:
vbCr
vbLf
vbCrLf

[EDIT]

¡Señala la respuesta de Mat’s Mug! Me olvidé de vbNewLine constante.

Considere ya sea:

Split(str, Chr(10))

o

Split(str, Chr(13))

Es posible que deba probar ambos si los datos se han importado de una fuente externa.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *