Extraer solamente mayúsculas de una celda

¿Sabrías alguna manera de extraer EXCLUSIVAMENTE las palabras en su totalidad escritas con mayúsculas?

Por ejemplo:

A1: Hola COMO Estás HOY.

A2: COMO HOY

Respuesta
1

Tendría que ser con una macro.

¿Quieres qué te prepare la macro?

¿Es para una sola celda o es para varias celdas?

Va la función de usuario.

Function Palabras_Mayusculas(celda As Range)
'Por Dante Amor
    datos = celda.Value
    pals = Split(datos, " ")
    For i = LBound(pals) To UBound(pals)
        If pals(i) = UCase(pals(i)) Then
            cad = cad & pals(i) & " "
        End If
    Next
    Palabras_Mayusculas = cad
End Function

Sigue las Instrucciones para una Función

  1. Abre tu libro de excel
  2. Para abrir VBa y poder pegar la función, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la función
  5. En cualquier celda utiliza la función, como cualquier otra función de excel

Por ejemplo, si tu frase esté en la celda A1, en la celda A2 pon la siguiente función:

=Palabras_Mayusculas(A1)


[Si te ayudó la información, no olvides valorar la respuesta.

Parece que funciona perfectamente, pero:

Me da que al venir los textos de un paso de "texto en columnas", no lo recononce y me copia solamente algunas. Hago la prueba con textos originales y sí que va. Y eso que al realizar "texto en columnas", lo que veo es directamente las palabras, nada de fórmulas...:

1) Mi texto inicial todo en una misma celda es este:

Shirt dress from MAJORELLE via REVOLVE / Boots from RAYE via REVOLVE / Mini bag from GUCCI / Watch from ICE WATCH / Sunglasses from QUAY

2) Después con una macro se aplicará "texto en columnas" con el separador /. Y se rellenan otras columnas con:

- Shirt dress from... (se ven tal cuál las palabras)

- Boots from RAYE...

- Mini bag f...

...

Y ya debería reconocer las mayúsculas aparte. Se puede modificar la maco para eso?

He realizado la prueba con copiar y pegar especial, solo valores y tampoco.

Saludos, 

Ya hice la prueba como comentas, puse esto en la celda A1

Shirt dress from MAJORELLE via REVOLVE / Boots from RAYE via REVOLVE / Mini bag from GUCCI / Watch from ICE WATCH / Sunglasses from QUAY

Después separé el texto en columnas con el separador /

Y me dio como resultado datos desde la A1 hasta la E1

Luego en las celdas de la A2 a la E2 puse la función y solamente me trajo las mayúsculas.

Mi función trabaja bien.

No entiendo cuál es el problema. Podrías poner imágenes del antes y el después para qué tienes en cada celda y qué te esta poniendo la función Palabras_Mayusculas( )

Sí, es realmente extraño. Sólo me da las últimas palabras en esta hoja. lo he probado en otras y me correcto. Algo debe haber mal:

C6: Boyfriend denim jacket from MLR (I’m wearing size M) / Top from S TEAM LA (similar here) / Shorts from ZARA / Boots from RAYE via REVOLVE / Ice Steeel watch from ICE 

C7:J7: Tiene texto separado por columnas (con macro)

F11:F21: =Palabras_Mayusculas(C7) y así hasta J7.

Sin embargo como ves, sólo tiene la palabra final mayúscula:

M

S TEAM LA

- (debería poner ZARA)

REVOLVE

WATCH

Llevo tiempo dándole vueltas.

Si te funciona en otras hojas, entonces la hoja tiene problemas, elimina la hoja y en una hoja nueva pon tu información

Ya hice la prueba, mira el valor de la función en la celda F11


[No olvides valorar la respuesta

También lo hace mal. La conclusión que saco te la detallo en la foto:

- en la primera lo hace mal porque el texto, pese a estar tal cual en la celda, viene de hacer lo de "texto en columnas" con el separador /.

- la segunda que la hace bien, pese a ser el mismo texto, lo he escrito yo manualmente.

Por eso me extraña que te funcione al separar también en columnas con /.

Y aunque copie directamente el texto, ni siquiera con lo de separar en columnas, tampoco me lo hace bien. Solamente cuando lo escribo yo directamente.

O sea a ver si existe alguna especie de función para "engañar" al programa y que entienda que es un texto recién escrito. No que viene de un separador en columnas o pega...

En las imágenes que pones no veo la fórmula.

La función trabaja bien.

Puedes enviarme tu archivo con tu macro y con ejemplos para revisa mi función.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Alberto Ripol

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas