Convertir la primera letra de una cadena a mayusculas

En este post mostraré cómo convertir la primera letra de una cadena a mayúsculas, para ello veremos un poco de notación ASCII sobre la relación entre las letras mayúsculas y minúsculas. Finalmente se muestra la función creada y su aplicación en conjunto con las funciones de QuipuConverter.

 1. Relación de las mayúsculas y minúsculas en código ASCII

Cómo las computadoras solamente entienden números, se usan números para representar las letras que conocemos de nuestro abecedario (‘a’,’b’,’N’,’M’,etc). Así si combinamos ALT+65 obtendremos la letra ‘A'(mayúscula) y si hacemos ALT+97 obtendremos la letra ‘a'(minúscula), otro ejemplo ALT+82 obtendremos la letra ‘R'(mayúscula) y si hacemos ALT+114 obtendremos ‘r'(minúscula).

La particularidad de esto es que en código ASCII las letras mayúsculas y minúsculas de nuestro alfabeto se diferencian en 32, el código ASCII de una letra minúscula es mayor por 32 que el código ASCII que el de la letra mayor. Entonces lo que hay que buscar en Excel es extraer la primera letra (que asumimos que es minúscula), conocer su número ASCII, restarle 32 y obtener el equivalente a ese número, luego reemplazar la primera letra por esta.

2. La función en Excel

La función que usaremos es como sigue:

Function Mayus(str As String) As String
Dim q As String
q = Left(str, 1)
q = Chr(Asc(q) - 32)
Mayus = q + Right(str, Len(str) - 1)
End Function

Que realiza lo descrito al final de la parte 1 de este post. En la línea 3 se extrae la primera letra, en la linea 4 se obtiene el ASCII de la letra anterior y se le resta 32 y se retorna su equivalente en nuestro alfabeto. En la linea 5 se concatena la letra convertida con la parte derecha de la cadena original sin la primera letra.

3. Aplicación

Luego de cargar QuipuConverter como complemento de Excel, escribir el número 2582.36 en la celda A1. Luego en la celda
A2 escribir la siguiente fórmula:

=CONCATENAR(QUIPU.ESP.ENTERO(A1),” con “,QUIPU.ESP.DECIMAL(A1,1),” euros”)

se obtendrá: dos mil quinientos ochenta y dos euros, todo en minúsculas, ahora antes de concatenar usamos la función Mayus.

=CONCATENAR(MAYUS(QUIPU.ESP.ENTERO(A1)),” con “,QUIPU.ESP.DECIMAL(A1,1),” euros”)

se obtendrá: Dos mil quinientos ochenta y dos con 36/100 euros.

Eso es todo suerte.

Posted in excel, excel programming, excel vba ejemplos

Facebook comments:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Make a computation for validation *
Time limit is exhausted. Please reload CAPTCHA.

Traducir

Read previous post:
Convertir números a letras con QuipuConverter

En esta ocasión voy a presentar un complemento para Excel denominado QuipuConverter.XLL, este complemento ha sido desarrollado usando Visual C++...

Close