Para poner la primera letra en mayúsculas y las siguientes en minúsculas, se puede usar directamente: StrConv(CadenadeTexto, vbProperCase) VER AYUDA DE ESTA FUNCION, PUES COMPLEMENTA A LAS YA CONOCIDAS, MID, LEFT ETC txtDia = UCase(WeekdayName(Weekday(txtFecha), , vbMonday)) txtMes= UCase(MonthName(Month(txtFecha))) txtAño= Year(txtFecha) Suponiendo que tienes esos nombres de cuadros de texto Comentarios La función WeekDayName(número) devuelve el día en texto correspondiente a un número, el parámetro vbMonday hace que la semana empiece por el lunes La función Weekday(Fecha) devuelve el número de día dentro de la semana que corresponde a una fecha (de 1 a 7) La función MonthName(número) devuelve el nombre del mes que le pases como número La función Month(fecha) devuelve el mes (en número de una fecha) La función UCase(texto) convierte en mayúsculas el texto Si quieres que aparezcan los meses en lugar de NOVIEMBRE como Noviembre (Formato Título) en lugar de utilizar la función UCase utiliza StrConv con el parámetro vbProperCase, quedaría de la siguiente forma el mes: txtMes= StrConv(MonthName(Month(txtFecha)), vbProperCase)