¿Cómo insertar espacios antes de las letras mayúsculas en Excel?
Administrar el formato de datos en Excel es un aspecto crucial para asegurar que tus hojas de cálculo sean claras y profesionales. Una necesidad común de formato es insertar espacios antes de las letras mayúsculas en cadenas de texto, lo cual a menudo es necesario al lidiar con datos concatenados o formateados incorrectamente. Esta guía proporciona varios métodos efectivos para lograrlo.

Insertar espacios antes de cada letra mayúscula en Excel
Insertar espacios antes de cada letra mayúscula con una fórmula (Excel 2019 y versiones posteriores)
Las fórmulas de Excel proporcionan una manera flexible de insertar espacios antes de las letras mayúsculas. Este método es ideal para usuarios que prefieren un enfoque no programático.
Copia y pega la siguiente fórmula en una celda en blanco, luego presiona la tecla "Enter" (Excel 365 o 2021) para obtener el primer resultado. (Presiona "Ctrl" + "Shift" + "Enter" para aplicarlo como una fórmula de matriz si usas Excel 2019).
=TRIM(LEFT(A2,1) & TEXTJOIN("", TRUE, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))>=65, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))<=90, " "&MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))))
- "LEFT(A2,1)": Recupera el primer carácter de la cadena tal como está.
- "INDIRECT("2:" & LEN(A2))": Crea un rango de números desde el segundo carácter hasta el último carácter.
- "MID(A2, ROW(...), 1)": Extrae cada carácter uno por uno a partir del segundo carácter.
- "CODE(...)": Verifica el valor ASCII del carácter para determinar si es una letra mayúscula (entre 65 y 90).
- "TEXTJOIN("", TRUE, ...)": Combina los caracteres en una sola cadena, insertando un espacio antes de cualquier letra mayúscula.
- "TRIM(...)": Elimina cualquier espacio adicional al inicio o al final de la cadena resultante.
Insertar espacios antes de cada letra mayúscula con Kutools para Excel
"Kutools para Excel" ofrece una solución rápida y sencilla para insertar espacios antes de cada letra mayúscula en tus datos. Con su intuitiva función "Agregar texto", puedes automatizar esta tarea en solo unos clics, ¡sin necesidad de fórmulas complejas o codificación!
1. Selecciona el rango donde insertarás espacios antes de las letras mayúsculas, y haz clic en "Kutools" > "Texto" > "Agregar Texto". Ver captura de pantalla:
2. En el cuadro de diálogo "Agregar Texto" que se abre, escribe un espacio en el cuadro "Texto", marca la opción "Solo agregar a" y selecciona "Antes de las letras mayúsculas" de la lista desplegable.
3. Haz clic en el botón "Aceptar" para insertar un espacio antes de cada letra mayúscula como se muestra en la siguiente captura de pantalla:
Insertar espacios antes de cada letra mayúscula con Función Definida por el Usuario
Para usuarios avanzados que necesitan más flexibilidad, se puede crear una Función Definida por el Usuario (UDF) para insertar espacios antes de las letras mayúsculas.
1. Activa tu hoja de cálculo que contiene las cadenas de texto a las que deseas agregar espacios.
2. Mantén presionadas las teclas "ALT" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".
3. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la ventana "Módulo".
Código VBA: Insertar espacios antes de las letras mayúsculas
Function AddSpaces(pValue As String) As String
'Updateby Extendoffice
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(pValue, i, 1)
Else
xOut = xOut & VBA.Mid(pValue, i, 1)
End If
Next
AddSpaces = xOut
End Function
4. Luego guarda y cierra este código, regresa a la hoja de cálculo e introduce la siguiente fórmula en una celda en blanco junto a tus datos. Arrastra la fórmula hacia abajo para llenar otras celdas, y obtendrás los espacios insertados antes de cada letra mayúscula.
=addspaces(A2)

Insertar espacios antes de cada letra mayúscula con código VBA
En esta sección, te guiaremos sobre cómo usar código VBA para insertar espacios antes de cada letra mayúscula en Excel. Ya seas principiante o usuario avanzado, esta guía te proporcionará las herramientas y conocimientos para abordar esta tarea de manera eficiente.
1. Mantén presionadas las teclas "ALT" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la ventana "Módulo".
Código VBA: Insertar espacios antes de las letras mayúsculas
Sub AddSpacesRange()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
xValue = Rng.Value
xOut = VBA.Left(xValue, 1)
For i = 2 To VBA.Len(xValue)
xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(xValue, i, 1)
Else
xOut = xOut & VBA.Mid(xValue, i, 1)
End If
Next
Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub
3. Luego presiona la tecla "F5" para ejecutar este código, aparecerá un cuadro emergente que te permitirá seleccionar un rango de datos que deseas utilizar.
4. Luego haz clic en "Aceptar" para cerrar este cuadro emergente, los espacios se habrán insertado antes de las letras mayúsculas de inmediato, ver captura de pantalla:
Insertar espacios antes de cada letra mayúscula en Excel se puede lograr a través de múltiples métodos, cada uno con sus propias ventajas. Siguiendo los pasos y mejores prácticas descritos en esta guía, puedes optimizar tu flujo de trabajo y manejar esta tarea con facilidad y eficiencia. Si estás interesado en explorar más consejos y trucos de Excel, nuestro sitio web ofrece miles de tutoriales.
Artículo relacionado:
¿Cómo agregar espacios después de las comas en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!