La funcionalidad de Excel para reemplazar es una herramienta útil para limpiar y modificar datos. Sin embargo, cuando tienes un gran conjunto de datos que requiere cambios en más de 2900 celdas como fue mi caso, resulta algo bastante inviable. En este tutorial hecho en base a mi problema, intentaré decirte cómo utilizar VBA (Visual Basic for Applications) para simplificar el formato de texto en Excel. En este caso utilizaremos dos funciones VBA para lograrlo: una para simplificar los nombres de la columna “eneagram” y otra para las alas de los eneatipos “wings”.
Esta función VBA se crea para simplificar los nombres de los eneatipos en la columna E de tu hoja de cálculo. Los nombres de los eneatipos originales tienen un formato más largo, y esta función los reemplazará con una versión más corta y simplificada.
Sub SimplificarEneagrama()
Dim celda AsRangeForEach celda InRange("E2:E" & Cells(Rows.Count, 5).End(xlUp).Row)
celda.Value = Replace(celda.Value, "Type 1 (the Reformer or Perfectionist)", "Type 1 - Reformer")
' Repite el mismo patrón para las demás categorías
Next celda
EndSub
En este paso, crearás una función VBA que simplificará los nombres de los eneatipos en la columna “eneagram” de tu hoja de cálculo. La función reemplazará los nombres originales por versiones más cortas y simplificadas.
Sub SimplificarEneagrama()
Dim celda As Range
For Each celda InRange("E2:E" & Cells(Rows.Count, 5).End(xlUp).Row)
celda.Value = Replace(celda.Value, "Type 1 (the Reformer or Perfectionist)", "Type 1 - Reformer")
Next celda
En este paso, crearemos una función VBA que simplificará los nombres de las alas de los eneatipos en la columna F de tu hoja de cálculo.
Sub SimplificarAlasEneagrama()
Dim celda AsRangeForEach celda InRange("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
celda.Value = Replace(celda.Value, "1w2 (the Advocate)", "1w2 - the Advocate")
' Repite este patrón para las otras alas
Next celda
EndSub
En este paso, crearás una función VBA para simplificar los nombres de las alas de los eneatipos en la columna F de tu hoja de cálculo.
Sub SimplificarAlasEneagrama()
Dim celda As Range
For Each celda InRange("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
celda.Value = Replace(celda.Value, "1w2 (the Advocate)", "1w2 - the Advocate")
Next celda
Regresa a tu hoja de cálculo de Excel y ejecuta cada función (Alt + F8). Selecciona la función que deseas ejecutar en el Editor de Visual Basic y presiona F5 para ejecutarla. Luego, selecciona la otra función y ejecútala de la misma manera.
Después de ejecutar ambas funciones, los nombres de los eneatipos y las alas se simplificarán según el formato que especificaste.
¡Eso es todo! Así utilizamos VBA en Excel para simplificar nombres y textos, lo que puede ahorrarte tiempo cuando trabajas con grandes conjuntos de datos.