Probablemente le haya pasado antes: obtiene datos para su hoja de trabajo y una de las columnas incluye nombres. El único problema es que los nombres están todos agrupados. Por ejemplo, la celda contiene «Allen Wyatt»,

pero preferiría tener el nombre en una columna y el apellido en la columna contigua a la derecha. ¿Cómo separas los nombres?

Puede usar fácilmente la función Texto a columnas en Excel para separar sus datos. Simplemente siga estos pasos:

  1. Seleccione el rango de celdas que desea dividir.

  2. Elija Texto a columnas en el menú Datos. Excel inicia el Asistente para convertir texto en columnas. (Ver figura 1)

  3. Elija si el texto que ha seleccionado es de ancho fijo o delimitado.

(En el caso de un espacio entre el nombre y el apellido, el texto estaría delimitado.)

  1. Haga clic en Siguiente.

  2. Especifique los delimitadores que desea que Excel reconozca. En el caso de separar nombres, debe asegurarse de usar espacios como delimitadores.

  3. Haga clic en Finalizar.

Excel separa las celdas en su rango seleccionado, separando todo el texto en el delimitador que especificó. Excel usa todas las columnas que sean necesarias para contener los datos.

Si no desea distribuir sus datos por completo en las columnas, deberá utilizar una macro. Por ejemplo, si una celda contiene «John Davis, Esq.», El uso de la función Text to Columns hará que los datos se distribuyan en tres columnas: la primera contiene «John», la segunda contiene «Davis» (con el coma), y el tercero contiene «Esq.» Si prefiere dividir los datos en dos columnas («John» en una y «Davis, Esq.» En la otra, la siguiente macro será útil:

Sub PullApart()

Dim FirstCol As Integer, FirstRow As Integer     Dim RowCount As Integer     Dim ThisRow As Integer     Dim j As Integer, k As Integer     Dim MyText As String

FirstCol = ActiveWindow.RangeSelection.Column     FirstRow = ActiveWindow.RangeSelection.Row     RowCount = ActiveWindow.Selection.Rows.Count

For j = 1 To RowCount         ThisRow = FirstRow + j - 1         MyText = Cells(ThisRow, FirstCol).Text         k = InStr(MyText, " ")

If k > 0 Then             Cells(ThisRow, FirstCol + 1).Value = Mid(MyText, k + 1)

Cells(ThisRow, FirstCol).Value = Left(MyText, k - 1)

End If     Next j End Sub

Esta macro examina cada celda y deja todo hasta el primer espacio en la celda seleccionada, y mueve todo después del espacio a la columna de la derecha. El único «error» con esta macro es asegurarse de que no tenga nada en la columna a la derecha de las celdas que seleccione cuando lo ejecute.

_Nota: _

Si desea saber cómo usar las macros descritas en este página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

`enlace: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador ] `.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Esta sugerencia (2967) se aplica a Mic rosoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

enlace: / excelribbon-Pulling_Apart_Cells [Separando celdas].