Dividir cadenas de texto por delimitador en varias filas - Trucos rápidos de 3
Normalmente, puede utilizar la función **Texto en columnas** para dividir el contenido de una celda en varias columnas mediante un delimitador específico, como una coma, un punto, un punto y coma, una barra, etc. Sin embargo, en ocasiones es posible que necesite dividir el contenido delimitado de una celda en varias filas, repitiendo al mismo tiempo los datos de las demás columnas, tal como se muestra en la siguiente captura de pantalla. ¿Conoce algún método eficaz para realizar esta tarea en Excel? Este tutorial le presenta algunas formas efectivas de llevarla a cabo.

Método A: Dividir texto delimitado en varias filas mediante código VBA
En esta sección, le presento dos códigos VBA que le ayudarán a dividir el contenido de las celdas separado por un delimitador específico.
Divida el texto separado por comas, espacios, puntos y comas, etc.
Para dividir cadenas de texto separadas por un delimitador común —como una coma, un espacio, un punto y coma, una barra, etc.—, el siguiente código le será de gran ayuda. Siga estos pasos:
Nota: Este código no admite la función Deshacer; le recomendamos hacer una copia de seguridad de sus datos antes de aplicarlo.
Paso 1: Abra el editor de módulos VBA y copie el código
1. Active la hoja que desea utilizar y, a continuación, pulse las teclas «Alt» + "F11" para abrir la ventana de «Microsoft Visual Basic para Aplicaciones».
2. En la ventana abierta, haga clic en «Insertar» > «Módulo» para crear un nuevo módulo en blanco.
3. A continuación, copie y pegue el siguiente código en el módulo en blanco.
Código VBA: Dividir texto por delimitador específico (coma, punto, espacio, etc.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Paso 2: Ejecute el código para obtener el resultado
1. Tras pegar el código, pulse la tecla "F5" para ejecutarlo. A continuación, aparecerá un cuadro emergente que le pedirá que seleccione las celdas con el texto delimitado que desea dividir; consulte la captura de pantalla:

2. Después, haga clic en «Aceptar»; aparecerá otro cuadro emergente que le pedirá que introduzca el separador que desea utilizar para dividir los datos. Aquí escribo una coma seguida de un espacio (, ); consulte la captura de pantalla:

3. Por último, haga clic en el botón «Aceptar». A continuación, verá que las cadenas de texto seleccionadas se han dividido en filas según la coma y que los datos de las demás columnas relacionadas se han repetido, tal como se muestra en las siguientes capturas de pantalla:

Dividir texto separado por salto de línea
Si el contenido de sus celdas está separado por saltos de línea y desea dividirlo en varias filas, aquí tiene otro código VBA que le será de gran ayuda.
Nota: Este código no admite la función Deshacer; le recomendamos hacer una copia de seguridad de sus datos antes de aplicarlo.
Paso 1: Abra el editor de módulos VBA y copie el código
1. Pulse las teclas «Alt» + "F11" para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana abierta, haga clic en «Insertar» > «Módulo» para crear un nuevo módulo en blanco.
3. A continuación, copie y pegue el siguiente código en el módulo en blanco.
Código VBA: Dividir texto por salto de línea
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Paso 2: Ejecute el código para obtener el resultado
1. Tras pegar el código, pulse la tecla "F5" para ejecutarlo. En el cuadro emergente, seleccione las celdas que desea dividir; consulte la captura de pantalla:

2. A continuación, haga clic en el botón «Aceptar» y los datos de las celdas seleccionadas se dividirán en filas, tal como se muestra en la siguiente captura de pantalla:

Método B: Divida texto delimitado en varias filas en 10 segundos con Kutools para Excel
Si ha instalado «Kutools para Excel», podrá dividir cadenas de texto en varias filas mediante cualquier delimitador que especifique, gracias a su función «Dividir en varias líneas». Siga estos pasos:
Paso 1: Seleccione la función Dividir en varias líneas
Haga clic en «Kutools» > «Combinar y dividir» > «Dividir en varias líneas»; consulte la captura de pantalla:

Paso 2: Especifique las celdas de datos y el delimitador para la división
En el cuadro de diálogo emergente, utilice las siguientes opciones:
- 1). Seleccione en el cuadro de texto «Rango (una sola columna)» la lista de celdas que desea dividir.
- 2). A continuación, elija el delimitador que separa sus datos; en este caso, seleccionaré «Otro» y escribiré una coma seguida de un espacio (, ) en el cuadro de texto.
- 3). Por último, haga clic en el botón «Aceptar».

Ahora, las celdas seleccionadas con cadenas de texto delimitadas se han convertido en varias filas según el separador especificado; consulte la captura de pantalla:

Consejo: Si desea restaurar los datos originales, pulse simplemente Ctrl + Z para deshacer la acción.
¿Fácil de usar? Si le interesa esta función, haga clic aquí para descargarla y disfrutar de una prueba gratuita de 30 días.
Método C: Dividir texto delimitado en varias filas mediante Power Query
Si utiliza Office 365 o Excel 2016 y versiones posteriores, Power Query es una herramienta potente que le permite dividir texto delimitado en varias filas o columnas. Es especialmente útil si desea que la división de datos se actualice automáticamente cada vez que cambien los datos originales. Siga estos pasos para completar la tarea:
Paso 1: Importe la tabla de datos a Power Query
1. Seleccione el rango de datos que desea utilizar y, a continuación, haga clic en «Datos» > «Desde tabla»; consulte la captura de pantalla:
Consejo: En Excel 2019 y Office 365, haga clic en Datos > Desde tabla o rango.

2. En el cuadro de diálogo emergente «Crear tabla», haga clic en el botón «Aceptar» para crear la tabla; consulte la captura de pantalla:

3. Ahora se muestra la ventana del «Editor de Power Query» con los datos; consulte la captura de pantalla:

Paso 2: Realice las transformaciones en Power Query
1. Seleccione la columna que desea dividir y, a continuación, haga clic en «Inicio» > «Dividir columna» > «Por delimitador»; consulte la captura de pantalla:

2. En el cuadro de diálogo «Dividir columna por delimitador»:
Para dividir cadenas de texto mediante coma, espacio, punto y coma, etc., proceda de la siguiente manera:
- 1). Elija el delimitador con el que están separados sus datos en la lista desplegable «Seleccionar o introducir delimitador».
- 2). Seleccione «Cada aparición del delimitador» en la sección «Dividir en».
- 3). A continuación, haga clic en «Opciones avanzadas» para expandir la sección y seleccione «Filas» en «Dividir en».
- 4). Por último, haga clic en «Aceptar» para cerrar este cuadro de diálogo.

Para dividir cadenas de texto en varias filas mediante salto de línea, proceda de la siguiente manera:
- 1). Seleccione «Personalizado» en la lista desplegable «Seleccionar o introducir delimitador».
- 2). En la lista desplegable «Insertar caracteres especiales», haga clic en «Retorno de carro»; los caracteres «#(lf)» se insertarán automáticamente en el cuadro de texto situado bajo «Personalizado».
- 3). Seleccione «Cada aparición del delimitador» en la sección «Dividir en».
- 4). A continuación, haga clic en «Opciones avanzadas» para expandir la sección y seleccione «Filas» en «Dividir en».
- 5). Por último, haga clic en «Aceptar» para cerrar este cuadro de diálogo.

3. Ahora, Seleccionar datos se ha dividido en varias filas, tal como se muestra en la siguiente captura de pantalla:

Paso 3: Exporte los resultados de Power Query a una tabla de Excel
1. A continuación, exporte los datos a su hoja de cálculo. Haga clic en «Inicio» > «Cerrar y cargar» > «Cerrar y cargar» o «Cerrar y cargar en...» (en este caso, seleccionaré «Cerrar y cargar»); consulte la captura de pantalla:

Consejo: Al hacer clic en **Cerrar y cargar**, los datos se exportarán a una hoja de cálculo nueva; al seleccionar **Cerrar y cargar en...**, podrá exportarlos a cualquier otra hoja que necesite.
2. Finalmente, los datos se cargarán en una hoja de cálculo nueva; consulte la captura de pantalla:

Consejo: Si necesita actualizar con frecuencia los datos de la tabla original, no se preocupe: basta con que haga clic con el botón derecho en la tabla de resultados y seleccione «Actualizar» para obtener dinámicamente los nuevos resultados.
Artículos relacionados:
- Dividir los valores de celda en varias columnas
- En Excel, cuando desea dividir una lista de valores de celda en varias columnas mediante determinados delimitadores, como coma, espacio, punto, salto de línea, etc., normalmente la función integrada «Texto en columnas» puede ayudarle a realizar esta tarea paso a paso. En este artículo, le explicaré algunos trucos útiles para dividir fácil y rápidamente los valores de celda en varias columnas o filas.
- Dividir una celda en varias filas o columnas
- Supongamos que tiene una celda con varios contenidos separados por un carácter específico, como un punto y coma, y desea dividir esa celda en varias filas o columnas según dicho separador. ¿Conoce algún método rápido para hacerlo en Excel?
- Dividir cadena de texto por mayúsculas y minúsculas
- En Excel, normalmente dividimos texto mediante un ancho fijo o un delimitador con la función «Texto en columnas», pero ¿ha intentado alguna vez dividir texto según el uso de mayúsculas y minúsculas? Por ejemplo, imagine que tiene una lista de datos y necesita separarla en dos columnas según el tipo de letra: una columna con cadenas que contienen minúsculas y otra con cadenas que contienen mayúsculas, tal como se muestra en la siguiente captura de pantalla. La función «Texto en columnas» no permite realizar esta operación; sin embargo, puedo mostrarle un truco para dividir rápidamente cadenas de texto por mayúsculas y minúsculas en Excel.
- Dividir un número en dígitos individuales
- Supongamos que necesita descomponer o dividir un número en sus dígitos individuales, tal como se muestra en la siguiente captura de pantalla. ¿Cómo puede lograrlo? Este artículo le ofrece dos métodos.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia sin precedentes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab Aporta una interfaz con pestañas a Office y hace su trabajo mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y ahorre cientos de clics diarios!
Todos los complementos de Kutools. Un solo instalador.
Kutools for Office es una suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, lo que la convierte en la opción ideal para equipos que trabajan con distintas aplicaciones de Office.
- Suite todo en uno— Complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Funcionan mejor juntos— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos
Índice
- Vídeo: Dividir cadenas de texto por delimitador
- Método A: Mediante código VBA
- Texto separado por comas, espacios, puntos y comas, etc.
- Texto separado por salto de línea
- Método B: En 10 s con Kutools para Excel
- Método C: Mediante Power Query
- Artículos relacionados
- Las mejores herramientas de productividad para Office
- Comentarios