¿Es posible agilizar el proceso de conversión de una a palabra a nombre propio en Excel?
Si bien la función NOMPROPIO ayuda a que el usuario ahorre tiempo ahorre tiempo comparado con si hiciera el cambio de los nombres uno por uno, ya sea que estos se encuentren en solo mayúsculas , minúsculas o con ambas caracteríticas ,pero no precisamente con el formato que exige un nombre propio ( mayúscula al principio de una palabra y minúsculas después) , es mucho más factible desarrollar una macro para este proceso en caso de que frecuentemente se necesite el uso de nombres propios.
Para el uso de la función NOMPROPIO , es necesario crear una columna , luego hacer uso de dicha función , colocar el argumento y finalmente ejecutar. Es cierto que no toma muchísimo tiempo ;sin embargo, si se requiere hacer dicho cambio en una gran cantidad de datos en diferentes filas y columnas ,todos los días , el proceso puede resultar tedioso. Por otro lado, con el uso de una macro , las circunstancias son distintas , pues con la selección de las celdas que requieren el cambio y un click , el proceso estará terminado, lo cual a gran escala , ahorra muchísimo tiempo.
Ejemplo:
Se tiene la siguiente base de datos en cierta institución , en la cual cada día se registran más personas a las que se les solicita datos similares a estos. Al momento de registrar el usuario lo hace solo en mayúsculas o minúsculas para realizar el registro de las personas con más rápidez, sin embargo, en la institución se le pide a la persona encargada del registro que en los datos se respete el formato de nombre propio , en caso, de serlo. Debido a que cada día se registran muchas personas , se decidió realizar una macro para ejecutar de manera más rápida el cambio a nombre propio .
Base de datos:
Creación de la macro:
Se crea un módulo en el proyecto y se desarrolla el siguiente código:
For Each Cell In Selection
Cell.Value = Application.WorksheetFunction.Proper(Cell.Value)
Next Cell
Creación de un botón que ayude a controlar la macro:
Se hace click en modo diseño y se en controlactivex se selecciona el botón
Se le hace doble click al botón y como se menciona en los comentarios del código se hace una llamado a la macro para convertir a nombre propio.
Finalmente se realiza la selección de celdas, se hace clic en el botón de control y el contenido de estas se cambia al formato de nombre propio.
Anteriormente, se seleccionó una columna de prueba, en la siguiente imagen, en cambio, todas las celdas que requerían dicho formato.
A continuación se presenta el código usado para NOMBRE PROPIO EN VBA :
Sub Convertiranombrepropio()
'primero se declara Cell como un rango o cojunto de celdas
Dim Cell As Range
'Luego se hace de un For each - Next para aplicar en un rango determinado la función Proper con la ayuda de Application.WorksheertFunction
'Esta función ayudará a cambiar el contenido de las celdas seleccionadas de acuerdo a las características de un nombre propio
For Each Cell In Selection
Cell.Value = Application.WorksheetFunction.Proper(Cell.Value)
Next Cell
End Sub
10/01/2023 a las 7:26 pm
Con la deferencia del caso; no es necesario que vaya escrito la propiedad value, delante de la variable Cell; es redundante.