Funcion CODIGO en VBA

5 envíos / 0 nuevos
Último envío
Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Funcion CODIGO en VBA

Hola de nuevo...

Pregunto: Asi como en Excel se puede saber el valor del ASCII de cualquier caracter, con la funcion CODIGO como por ejemplo CODIGO(A1) suponiendo que en A! se encuentra A, la respuesta nos da 65.

Existe una funcion equivalente para utilizarla desde VBA para poderla incluir en la programacion de un Macro? porque lo he intentado con CODIGO(A1) o con CODE(A1) incluso con Application.Code(A1)... pero nada...

Saludos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 2 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
ASC

La función VBA que buscas es Asc  (imagino que por abreviatura de Ascii)

 

 

------
Ya sé Excel, pero necesito más.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Solo como puntualización,

Solo como puntualización, cuando utilizas la función CODIGO, lo que te está dando es el valor ASCII del primer carácter que haya en la celda.

En Excel puedes utilizar las funciones desde el código VBA utilizando la siguiente estructura:

Application.WorksheetFunction.FuncionEnIngles(ParámetrosEnInglés)

El nombre de la función debe ser en inglés, tengas la versión de Excel que tengas y en el idioma que lo tengas. Y los parámetros también, es decir, el separador de listas será la coma, los decimales se separan con punto, etc. Esto es independiente de la configuración regional de tu Windows y de tu Excel.

En el caso de la función CODIGO, su versión en inglés es CODE. Sin embargo, esto no funciona en VBA porque hay otro método más directo (no todas las funciones son accesibles vía WorksheetFunction). Prueba lo siguiente:

Cells(1,3).value = Asc(Cells(1,1).value)

Esto toma el valor que hay en cells(1,1) [que es la celda A1], calcula su valor ASCII, y lo coloca en la celda cells(1,3) [que es la celda C1]

Un saludo

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Qué escueto :P

Qué escueto, Paco :P

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Funcion codigo VBA

Paco y Cron:

Muchas gracias a los dos.

Sois una autentica "enciclopedia del saber" de Excel.

Y los dos cometeis el mismo error: poneis tan facil volver a preguntar...

Muchas gracias.

Saludos a ambos