Note: The other languages of the website are Google-translated. Back to English

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

Supongamos que tiene una lista de cadenas de texto en la que todos los espacios entre las palabras se eliminan accidentalmente, así: Insertar filas en blanco entre datos, y ahora desea agregar los espacios antes de cada letra con letras mayúsculas para separar las palabras como Insertar filas en blanco entre datos. ¿Cómo podría agregar espacios delante de las letras mayúsculas rápidamente en lugar de escribir espacios uno por uno en Excel?


Inserte espacios antes de las letras mayúsculas con la función definida por el usuario

Desafortunadamente, no hay una forma directa de agregar espacios antes de las letras mayúsculas en Excel, pero puede crear una función definida por el usuario para resolver esta tarea.

1. Active su hoja de trabajo que contiene las cadenas de texto a las que desea agregar espacios.

2. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

3. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana del módulo.

Código de VBA: inserte espacios antes de las letras mayúsculas

Function AddSpaces(pValue As String) As String
'Update 20140723
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 guarde y cierre este código, regrese a la hoja de trabajo e ingrese esta fórmula = agrega espacios (A1) en una celda en blanco además de sus datos, vea la captura de pantalla:
doc-agregar-espacios-antes-mayúsculas-1

5. Y luego arrastre el controlador de relleno sobre el rango que desea que contenga esta fórmula, obtendrá los espacios que se insertan antes de cada letra mayúscula.
doc-agregar-espacios-antes-mayúsculas-1

Elimine fácilmente los espacios iniciales / finales / adicionales en las celdas

Kutools para Excel Eliminar espacios La utilidad permite a los usuarios de Excel eliminar fácilmente todo el espacio inicial, el espacio final, los espacios adicionales o todos los espacios de las celdas seleccionadas rápidamente.


anuncio quitar espacio 1

Inserte espacios antes de las letras mayúsculas con código VBA

Aquí hay otro código VBA que puede hacerte un favor, haz lo siguiente:

1. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana del módulo.

Código de VBA: inserte espacios antes de las letras mayúsculas

Sub AddSpacesRange()
'Update 20140723
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. Entonces presione F5 para ejecutar este código, aparecerá un cuadro emergente que le permitirá seleccionar un rango de datos que desee utilizar.
doc-agregar-espacios-antes-mayúsculas-1

4. Y luego haz clic OK para cerrar este cuadro de aviso, los espacios se han insertado antes de las letras mayúsculas a la vez, vea la captura de pantalla:
doc-agregar-espacios-antes-mayúsculas-1


Inserte un espacio antes de cada letra mayúscula con Kutools para Excel

Kutools para Excel Añadir texto La utilidad puede ayudarlo a omitir las macros de VBA e insertar espacio antes de cada letra mayúscula fácilmente en Excel.

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Prueba gratis ahora!

1. Seleccione el rango donde insertará el espacio antes de las letras mayúsculas y haga clic en el Kutools > Texto > Añadir texto. Ver captura de pantalla:

2. En el cuadro de diálogo de apertura Agregar texto, escriba un espacio en el Texto casilla, marque la Solo agregar a la opción y seleccionar La primera letra es mayúscula de Solo agregar a la lista desplegable.

3. Haga clic en Ok para insertar un espacio antes de cada letra mayúscula como se muestra en la siguiente captura de pantalla:
doc agregar espacios antes de mayúsculas 7

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Consíguelo ahora

Notas: Este método también agregará espacio al comienzo de las celdas si la primera letra es mayúscula. Puede aplicar Kutools > Texto > Eliminar espacios para eliminar todos los espacios iniciales de las celdas seleccionadas.


Artículo relacionado:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (9)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
necesito ayuda en excel quiero encontrar mayúsculas en una celda. por ejemplo: Sagar Paul MBA 16:04 quiero que se destaque MBA
Este comentario fue minimizado por el moderador en el sitio
Espero que puedas verlo y darle una oportunidad. Sub Test() Dim Rg As Range, xCell As Range Dim i As Long Dim xChar As String Set Rg = Application.Selection For Each xCell In Rg For i = 1 To xCell.Characters.Count xChar = xCell.Characters(i, 1 ).Texto Si Asc(xChar) > 64 y Asc(xChar) < 91 Entonces xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola, tu código funciona fantástico. ¿Sabe cómo adaptar el código 20140723 para trabajar en varias hojas? Me gustaría agregar espacios entre letras mayúsculas en todo el libro de trabajo. ¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola

Primero, muchas gracias por su ejemplo de código y las explicaciones. Funciona muy bien para mi caso.

Solo tengo 1 problema, algunas de las cadenas contienen palabras como URL, que no deben separarse.
¿Ve una forma de excepto, por ejemplo, "URL" de agregar espacios?

Sería muy bueno si usted puede ayudar. Ya lo intenté un tiempo, pero no sé cómo resolver esto ...


Atentamente
Luca
Este comentario fue minimizado por el moderador en el sitio
Hola,
Gracias por tu comentario y consejo. He enviado tu sugerencia al equipo de proyecto de Kutools, seguro que pronto la mejorarán.
Este comentario fue minimizado por el moderador en el sitio
Encontrado una solución?
Este comentario fue minimizado por el moderador en el sitio
hola, quiero preguntarle si encontró una solución para su caso, si encontró una solución, por favor proporcione eso
Este comentario fue minimizado por el moderador en el sitio
Esta función maneja dos problemas que la solución dada no cubre:
1. texto no inglés (con signos diacríticos)
2. mayúsculas sucesivas que no deben tener espacios después de ellas

` Función privada AddSpaces(sText As String)As String
' Inserta un espacio inmediatamente antes de una letra mayúscula, excepto cuando los caracteres sucesivos están en mayúscula.
Última actualización: 2022-07-04
'
Dim sRet como cadena, i como entero, sChar como cadena, bPrevWasUCase como booleano

sRet = Izquierda(sTexto, 1)
Para i = 2 Para Len(sText)
sCar = Medio(sTexto, i, 1)
Si sChar = UCase(sChar) y no bPrevWasUCase Entonces
sRet = sRet & " " & sChar
bPrevWasUCase = Verdadero
otro
sRet = sRet & sChar
bPrevWasUCase = Falso
Si terminar
Siguiente i

AgregarEspacios= sRet
Función final`
Este comentario fue minimizado por el moderador en el sitio
Hola amigo,

Gracias por tu parte. Probé tu código VBA, pero no funciona. Nuestro código VBA puede manejar el texto que no está en inglés. He probado el texto en francés y los espacios se insertan con éxito antes de las letras mayúsculas.

Atentamente,
Mandy
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL