Thomas tiene una columna que no contiene más que valores de texto, como oraciones y frases. Algunas celdas muestran su texto en rojo y el resto en negro. Le gustaría una forma de separar el texto de modo que las celdas de texto negro permanezcan en la columna y las celdas de texto rojo se muevan a la siguiente columna.

Hay un par de formas de abordar este problema. Quizás el enfoque más fácil es simplemente ordenar o filtrar la columna que contiene los valores de texto. Excel le permite filtrar y ordenar según el color del texto, lo que significa que puede ver solo las celdas de texto rojo o poner todas las celdas de texto rojo en un rango contiguo. Entonces es una tarea fácil cortar las celdas de texto rojo y pegarlas en la siguiente columna.

Por ejemplo, así es como harías la clasificación:

  1. Seleccione las celdas que contienen sus valores de texto.

  2. Muestre la pestaña Datos de la cinta.

  3. Haga clic en la herramienta Ordenar en el grupo Ordenar y filtrar. Excel muestra el cuadro de diálogo Ordenar.

  4. Usando la lista desplegable Ordenar por, elija Color de fuente.

  5. Utilice la lista desplegable Orden para indicar qué color desea que se muestre primero en la lista ordenada. (Aquí es donde elegiría su color rojo. La lista desplegable incluye cada color detectado en el rango que seleccionó en el paso 1.)

  6. Haga clic en Aceptar.

Ahora sus celdas están ordenadas, por color, con el color especificado en el paso 5 al comienzo del rango de celdas. Puede copiarlo fácilmente o moverlo a una columna diferente. Puede seguir los mismos pasos generales si desea filtrar los valores de texto según el color de la fuente.

Si lo prefiere, también puede usar una macro para mover sus celdas de texto rojo.

Aquí hay un ejemplo que copia el valor de la celda y el color de la fuente una celda a la derecha.

Sub MoveRedText1()

Dim c As Range

If Selection.Columns.Count > 1 Then Exit Sub

For Each c In Selection         If c.Font.Color = vbRed Then             c.Offset(0, 1) = cell.Value             c.Offset(0, 1).Font.Color = vbRed             c.ClearContents             c.Font.Color = vbBlack         End If     Next c End Sub

Para usar la macro, simplemente seleccione las celdas que desea analizar y luego ejecute la macro. No copia todo el formato de las celdas que está moviendo; si eso es crítico, puede usar una macro mucho más simple para hacer el movimiento.

Sub MoveRedText2()

Dim c As Range

For Each c In Selection         If c.Font.Color = vbRed Then _           c.Cut Destination:=c.Offset(0, 1)

Next c End Sub

Si usa cualquiera de estas macros y sus celdas de texto en rojo no se mueven, podría deberse a que las celdas en realidad no usan texto en rojo. Hay muchos tonos diferentes de rojo que se pueden mostrar en Excel, por lo que deberá modificar las macros para asegurarse de que está verificando el color de fuente adecuado.

_Nota: _

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

link: / 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.

Este consejo (12604) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.