Macro cambiar minúscula por mayúscula

Tengo una base de datos, en cada celda hay una descripción en texto, de este modo:

Celda 1: • Ejemplo 1• AquiOtroEjemplo 2

Celda 2: •Texto1 • Letras2

Celda n:• Ejemplo 1• AquiOtroEjemplo 2

El problema es que la base de datos es demasiado grande y ocupo que cada vez que halla un bullet "•" el siguiente carácter sea una mayúscula.

Celda 1: • ejemplo1 • ejemplo2 •ejemplo3

Celda 2: • ejemplo1 • ejemplo2 •ejemplo3

Celda n: • ejemplo1 • ejemplo2 •ejemplo3

Para convetirse en:

Celda 1 •Ejemplo1 •Ejemplo2 •Ejemplo3

Celda 2 •Ejemplo1 •Ejemplo2 •Ejemplo3

Celda n •Ejemplo1 •Ejemplo2 •Ejemplo3

Lo que uso para corregir pequeños detalles del bullet es esto:

Range("Y:Y").Select
Range(Selection, Selection.End(xlDown)).Select
For Each celda In Selection: celda.Value = Replace(celda.Value, "•", "• "): Next

Que da un espacio entre el bullet y el texto, pero no se como condicionar que busque el bullet y que el siguiente carácter volverlo mayúscula ¿Alguien tiene idea de como podría ser?

2 Respuestas

Respuesta
1

¿Tiene qué ser con macro?

Puedes usar simplemente la función Nompropio:

Y después copiar y pegar valores.

Respuesta
1

La función indicada por Ignacio es apropiada. Y como tienes la macro para ajustar los espacios, la coloqué allí mismo para el reemplazo de las letras al estilo Nombre Propio.

La instrucción sería:

celda.Value = Application.WorksheetFunction.Proper(Replace(celda.Value, "•", "• "))

Dejo la macro completa según mi ejemplo, no es necesario que cambies el resto en tu libro.

Sub ajustaBullets()
Range("Y1:Y" & Range("Y" & Rows.Count).End(xlUp).Row).Select
    'Range(Selection, Selection.End(xlDown)).Select
For Each celda In Selection
    celda.Value = Application.WorksheetFunction.Proper(Replace(celda.Value, "•", "• "))
    Next
End Sub

De paso te recuerdo que aún me debes el cierre de la siguiente consulta. Por favor valorala para darla por cerrada.

Mover archivos excel macro con condiciones

Sdos y no olvides valorar también estas respuestas (opciones: Excelente o buena).

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas