KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo insertar espacios antes de las letras mayúsculas en Excel?

AutorXiaoyang Fecha de modificación

Dar formato adecuado a los datos en Excel es fundamental para garantizar claridad y facilitar el análisis, especialmente cuando se trabaja con cadenas de texto importadas o concatenadas que carecen de legibilidad. Una situación habitual es encontrarse con texto en el que las palabras están unidas sin espacios, como «HerramientaDeFormatoDeDatos», lo que dificulta su lectura y procesamiento. Insertar espacios antes de cada letra mayúscula permite separar claramente las palabras, haciendo sus hojas de cálculo más intuitivas y presentables, tanto para interpretar los datos como para compartirlas. Esta guía explora varios métodos prácticos que puede aplicar para añadir rápidamente espacios antes de cada letra mayúscula en Excel, asegurando que sus datos permanezcan organizados y sean fácilmente gestionables en cualquier escenario.


Insertar espacios antes de cada letra mayúscula con una fórmula (Excel 2019 y versiones posteriores)

Utilizar fórmulas de Excel es una forma sencilla y fiable de insertar espacios antes de las letras mayúsculas. Este enfoque no requiere conocimientos de programación ni herramientas especiales, y resulta ideal para usuarios que buscan automatizar el proceso con funciones integradas de Excel. El método que se presenta a continuación aprovecha las modernas funciones de matrices dinámicas y manipulación de texto disponibles en Excel 2019, Excel 2021 y Microsoft 365.

Escenario aplicable: Ideal para usuarios con versiones actualizadas de Excel que buscan una solución rápida basada en fórmulas y prefieren evitar el uso de VBA o complementos. Esta opción destaca porque se actualiza automáticamente al modificar las celdas o al pegar nuevos datos, aunque puede no ser compatible con versiones antiguas de Excel.

Para implementarlo, siga estos pasos:

1. Copie y pegue la siguiente fórmula en una celda vacía (por ejemplo, en la celda B2 si sus textos originales están en la celda A2) y pulse Intro para obtener el primer resultado en Excel 365 o 2021. En Excel 2019, use Ctrl+Mayús+Intro para aplicarla como fórmula matricial:

=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))))

2. Tras obtener el primer resultado, arrastre el controlador de relleno hacia abajo para aplicar la fórmula al resto de filas según sea necesario. El resultado mostrará su Texto original con espacios insertados antes de cada letra mayúscula.

insertar espacios antes de las letras mayúsculas con una fórmula

Explicación de esta fórmula:
  • IZQUIERDA(A2;1): Devuelve el primer carácter de la cadena sin modificar, evitando un espacio innecesario al principio.
  • INDIRECTO("2:" & LONGITUD(A2)): Genera una secuencia que hace referencia a cada carácter subsiguiente según su posición, desde el segundo carácter hasta el final.
  • EXTRAE(A2; FILA(...);1): Extrae un carácter cada vez según su posición.
  • CODIGO(...): Evalúa cada carácter extraído para comprobar su valor ASCII; los valores comprendidos entre 65 y 90 corresponden a las letras mayúsculas del alfabeto inglés (A-Z).
  • UNIRCADENAS(« »; VERDADERO; ...): Concatena cada carácter e inserta un espacio antes de aquellos identificados como letras mayúsculas, omitiendo cualquier texto vacío cuando se especifica VERDADERO.
  • ESPACIOS(...): Elimina los espacios iniciales y finales que puedan añadirse durante el proceso.

Nota: Pueden producirse errores si la celda original está vacía o contiene valores no textuales. Asegúrese de que sus datos estén en formato de texto para obtener los mejores resultados. Al arrastrar la fórmula, verifique que las referencias a las celdas sean correctas y ajústelas si sus datos comienzan en una fila o columna distinta.


Insertar espacios antes de cada letra mayúscula con Kutools para Excel

«Kutools para Excel» ofrece una forma muy eficaz de insertar espacios antes de cada letra mayúscula en todo su rango de Seleccionar Datos. Su función integrada «Agregar texto» simplifica el proceso, proporcionando una alternativa práctica para usuarios que desean completar la tarea en pocos clics, sin necesidad de recordar fórmulas complejas ni usar código.

Escenario aplicable: Esta solución es ideal para usuarios que gestionan habitualmente grandes volúmenes de datos, prefieren una interfaz gráfica o no se sienten cómodos utilizando fórmulas o código. Permite realizar operaciones masivas de forma rápida y reduce el riesgo de errores en las fórmulas. El único requisito es tener instalado Kutools para Excel.

Kutools para Excelofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia.Integrado con capacidades de IA, Kutools automatiza tareas con precisión, haciendo que la gestión de datos sea sencilla.Información detallada de Kutools para Excel...         Prueba gratuita...

1. Seleccione el rango de celdas en el que desea añadir espacios antes de las letras mayúsculas. A continuación, vaya a 'Kutools' > 'Texto' > 'Agregar texto'Esto abrirá las opciones pertinentes.
hacer clic en Agregar texto de Kutools

2. En el cuadro de diálogo «Agregar texto», introduce un espacio en el campo «Texto». A continuación, marca la opción «Solo añadir a» y selecciona «Antes de las letras mayúsculas» en el menú desplegable.
especificar las opciones en el cuadro de diálogo

3. Haga clic en «Aceptar» para aplicar los cambios. Cada letra mayúscula de su selección tendrá un espacio insertado delante, tal como se muestra a continuación:
Insertar espacio antes de cada letra mayúscula con Kutools

Precauciones:

  • Revise cuidadosamente su selección, ya que esta operación se aplica directamente a sus datos. Es recomendable mantener una copia de seguridad antes de utilizar funciones de edición masiva.
  • Esta función distingue entre mayúsculas y minúsculas y solo afecta a las letras mayúsculas (A-Z).

Insertar espacios antes de cada letra mayúscula con una función definida por el usuario

Para usuarios que necesitan mayor flexibilidad o desean una solución reutilizable para procesamiento personalizado, crear una función definida por el usuario (UDF) en VBA permite implementar una lógica precisa para insertar espacios Antes de las letras mayúsculas. Este enfoque mantiene su hoja de cálculo dinámica, ya que la función se comporta como cualquier otra fórmula de Excel y se actualiza automáticamente.

Ventajas: Ofrece total personalización y se puede reutilizar en distintos libros si copias el código.
Inconvenientes: Requiere familiaridad básica con el editor de VBA. Las fórmulas basadas en UDF pueden no funcionar en todos los entornos de Excel, especialmente en Excel Online o cuando hay restricciones de macros.

1. Abra la hoja de cálculo que contiene las cadenas de texto que desea procesar.

2. Pulse ALT + F11 para abrir el editor de Microsoft Visual Basic para Aplicaciones (VBA).

3. En el editor de VBA, haz clic en «Insertar» > «Módulo» y copia y pega el siguiente código en la ventana del módulo recién creado.

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. Guarde su proyecto y cierre el editor de VBA. Vuelva a la hoja de cálculo. En una celda vacía adyacente a sus datos (por ejemplo, B2 si sus datos están en A2), introduzca la siguiente fórmula y pulse Intro:

=addspaces(A2)

Arrastre el controlador de relleno de la celda hacia abajo para aplicar la fórmula de la función definida por el usuario al resto de su lista. Cada cadena de texto mostrará los espacios insertados antes de cada letra mayúscula según lo diseñado.

Insertar espacio antes de cada letra mayúscula con una función definida por el usuario

Consejos y solución de problemas:

  • Para que la función definida por el usuario esté disponible tras volver a abrir el archivo, guarde el libro como un archivo habilitado para macros (*.xlsm o *.xlsb).
  • Los cambios en sus datos de texto actualizarán automáticamente el resultado de la función definida por el usuario.
  • Las funciones definidas por el usuario no son compatibles con Excel Online ni con algunos entornos restringidos de macros.

 


Insertar espacios antes de cada letra mayúscula con código VBA

Si prefiere una solución que pueda procesar un amplio rango de datos de una sola vez y realizar modificaciones permanentes directamente en su hoja de cálculo, utilizar una macro VBA es una excelente opción. Este método es ideal para usuarios avanzados o para tareas puntuales de limpieza, ya que modifica las celdas seleccionadas directamente.

Ventajas: Gestiona eficazmente grandes conjuntos de datos, no requiere introducir fórmulas en las celdas y ofrece un mayor control sobre qué celdas procesar.

Consideraciones: Dado que este método modifica directamente sus datos, realice siempre una copia de seguridad antes de ejecutar la macro. Las macros pueden estar deshabilitadas de forma predeterminada en algunos libros por motivos de seguridad; habilítelas según sea necesario para continuar.

1. Pulse ALT + F11 para abrir la ventana «Microsoft Visual Basic para Aplicaciones».

2. Haga clic en «Insertar» > «Módulo» y copie el siguiente código en la ventana del 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. Pulse la tecla «F5» o haga clic en el botón «Ejecutar» para ejecutar la macro. Aparecerá un cuadro de diálogo que le pedirá que seleccione el rango que desea modificar.
código VBA para seleccionar el rango de datos

4. Tras seleccionar el rango y hacer clic en «Aceptar», la macro insertará inmediatamente espacios delante de todas las letras mayúsculas en las celdas seleccionadas.
insertar espacios antes de las letras mayúsculas con código VBA

Notas para la resolución de problemas:

  • Si la macro parece no hacer nada, compruebe que ha seleccionado el rango deseado y que las macros están habilitadas en la configuración de Excel.
  • Esta operación no se puede deshacer tras su ejecución. Utilice una copia de seguridad si tiene dudas.
  • La macro está optimizada para letras mayúsculas del alfabeto inglés (A-Z). Los resultados pueden variar con caracteres no estándar o alfabetos localizados.

Independientemente del método que elija, insertar espacios delante de cada letra mayúscula en Excel mejorará notablemente la legibilidad de sus cadenas de texto. Cada enfoque se adapta a escenarios concretos: fórmulas para cálculos dinámicos, Kutools para una automatización sencilla, funciones definidas por el usuario (UDF) para reutilización y código VBA para operaciones masivas potentes. Antes de aplicar cualquiera de estas técnicas de forma masiva, revise cuidadosamente sus datos y conserve siempre una copia de seguridad de los valores originales para evitar pérdidas accidentales durante el procesamiento. Si encuentra errores, repase paso a paso su procedimiento y asegúrese de que su versión de Excel sea compatible con las funciones o el código utilizados. Para descubrir más estrategias y consejos prácticos en Excel,consulte nuestra amplia colección de tutoriales.


Artículo relacionado:

¿Cómo añadir espacios después de las comas en Excel?


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su 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 que su trabajo sea 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 elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— 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