Ver Mensaje Individual
  #6 (permalink)  
Antiguo 06/08/2010, 13:27
Avatar de Txoco
Txoco
 
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: como puedo pasar de n° a letra

Touché

Estas cosas pasan por escribir de memoria y no fijarme en que la variable no era de tipo fecha.
Código:
    For m = 1 To 12
        Debug.Print m, Format(CDate("2000/" & m & "/01"), "mmmm")
    Next m
O bien
Código:
    For m = 1 To 12
        Debug.Print m, Format(DateAdd("m", m - 1, CDate("2000/01/01")), "mmmm")
    Next m
si no se quiere concatenar nada ("m-1" por si se quiere utilizar "m" para guardar el número del mes en otro sitio, como bien indica porciento_veinte; de lo contrario, bastaría con recorrer el bucle de cero a once).

En ambos casos he especificado la fecha en formato ISO (yyyy/MM/dd) porque así hay menos propensión a errores; a veces me he encontrado con que al utilizar el formato europeo para fechas en que el mes y el año son iguales o menores a 12, el sistema operaba con ellas internamente en formato estadounidense (MM/dd/yyyy) y no calculaba bien.

No se cuál de los dos métodos será más rápido, aunque los dos se pueden optimizar un poquillo.

Y ahora sí funcionan los dos, que los he probao.
__________________
wile sona li mute e sona