Se puede "modificar" un poco la Función "HOY()" en Excel 2013
La función "HOY()," (así tal cual viene por defecto) devuelve, lo siguiente: "sábado, 3 de enero de 2015," ¿sí?... ¿Es posible qué la "s" de "Sábado", la muestre en mayúscula?...
2 Respuestas
utiliza la función String.Replace() para eso... aunque antes tienes que verificar que día es, puedes utilizar la función String.Contain() o String.StartWith()...
Ejemplo: sábado
HOY(). Repace("s","S") 'creo
Hola:
Tipeé exactamente lo siguiente: "=HOY().String.Replace("s","S")". Pero, no aduvo. ¿Qué hice mal?...
Saludos!!
Respectivamente funciona pero para reemplazar la "s" a "S" de la cadena "sábado", como obviamente deseas para que funcione con "todos los días" tendrás que cambiarla, algo así:
Dim cadenaHoy As String = TimeOfDay.ToString If cadenaHoy.StartsWith("lunes") Then cadenaHoy = "Lunes" & cadenaHoy.Remove(0, 5) ElseIf cadenaHoy.StartsWith("martes") Then cadenaHoy = "Martes" & cadenaHoy.Remove(0, 5) ElseIf cadenaHoy.StartsWith("miércoles") Then cadenaHoy = "Miércoles" & cadenaHoy.Remove(0, 9) ElseIf cadenaHoy.StartsWith("jueves") Then cadenaHoy = "Jueves" & cadenaHoy.Remove(0, 6) ElseIf cadenaHoy.StartsWith("viernes") Then cadenaHoy = "Viernes" & cadenaHoy.Remove(0, 7) ElseIf cadenaHoy.StartsWith("sábado") Then cadenaHoy = "Sábado" & cadenaHoy.Remove(0, 6) ElseIf cadenaHoy.StartsWith("domingo") Then cadenaHoy = "Domingo" & cadenaHoy.Remove(0, 7) End If
- Compartir respuesta
Prueba con la siguiente fórmula
=TEXTO(HOY(),NOMPROPIO("[$-F800]dddd, mmmm dd, aaaa"))
Prueba aparte la función, escribe esto:
=nompropio("dante amor")
El resultado debe ser
Dante Amor
Según el siguiente enlace la función nompropio también funciona en 2013
http://office.microsoft.com/ca-es/excel-help/nompropio-funcion-nompropio-HA102752895.aspx
Si utilizas el separador ; entonces escribe así la fórmula
=TEXTO(HOY();NOMPROPIO("[$-F800]dddd; mmmm dd; aaaa"))
¿Así Dante: "=TEXTO(HOY();NOMPROPIO("Lunes[$-F800]dddd; mmmm dd; aaaa"))"?...
Pero da el error de "#¡VALOR!".
Y eso que "formatee" la celda con el formato "fecha larga" y todo. Pero, no. Da ese error.
Saludos!!
¿Pero por qué pones la palabra lunes?
Yo te envié está fórmula:
=TEXTO(HOY();NOMPROPIO("[$-F800]dddd; mmmm dd; aaaa"))
Por qué pones esto:
"TEXTO(HOY();NOMPROPIO("Lunes[$-F800]dddd; mmmm dd; aaaa"))"
Prueba nuevamente con la fórmula que te envié
También prueba esto:
=nompropio("dante amor")
El resultado debe ser:
Dante Amor
Y también prueba esto
=TEXTO(HOY();"dd/mm")
El resultado debe ser:
05/01
Realiza todas las pruebas y me dices el resultado de cada una de ellas.
Si, cada una de ellas, "por separado," andan perfectamente como Ud. lo describe. Pero así: "
=TEXTO(HOY();NOMPROPIO("[$-F800]dddd; mmmm dd; aaaa"))
", no.
Saludos!!
Realiza lo siguiente.
Escribe una fecha en la celda "D3"
Selecciona la celda "D3"
Cambia el formato de la celda "D3" a formato de fecha larga como se muestra en la imagen:
Presiona Aceptar.
Vuelve a cambiar el formato de celda de la celda "D3", pero ahora selecciona en categoría "Personalizada", lo que te aparezca en Tipo, cópialo.
Lo que copiaste lo tienes que poner en la fórmula, ejemplo:
=TEXTO(HOY();NOMPROPIO("[$-2C0A]dddd, dd" de "mmmm" de "aaaa;@"))
No utilices mi ejemplo, porque eso es lo que me aparece a mí en la versión 2007, debes recuperar lo que te aparece a ti en la versión 2013.
Me parece que el problema son las comas ","
Prueba también con esto:
=TEXTO(HOY();NOMPROPIO("dddd, mmmm dd, aaaa"))
Dentro del formato estoy poniendo comas ","
Prueba con esto:
=TEXTO(HOY();NOMPROPIO("[$-F800]dddd, mmmm dd, aaaa"))
Realiza nuevamente todas las pruebas, revisa bien cómo estoy poniendo ";" para separar parámetros y estoy poniendo "," para separar los datos de la fecha.
Si señor,!!!!! Aparentemente, esto, resultó. Mañana, que compruebe el resultado, lo califico, ¿sí, le parece?...
(inclusive, intenté poner también, la primer letra del mes, tipiarla en mayúscula. Veremos qué pasa).
No hay problema, termina tus pruebas hasta que salga todo correcto, entonces ya valoras la respuesta.
Prueba con esta, la función nompropio debe ir al principio.
=NOMPROPIO(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa"))
Con la función nompropio te va a quedar así
Sábado, 10 De Enero De 2015
La primera letra de cada palabra la convierte en mayúscula.
Si solamente quieres la primera letra habría que poner todo esto:
=MAYUSC(IZQUIERDA(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa");1))&MED(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa");2;LARGO(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa")))
Hola Dante:
Lo que anda "casi, casi," es la primera fórmula. Yo intenté lo siguiente: ""[$-F800]dddd, "de" mmmm dd, "de" aaaa"))" Para intentar "bajar" las dos "Ds" mayúsculas.
Y si bien, no dio ningún resultado. Tampoco dio ningún error. Es decir, que, pienso que si usted, le da un "retoque" a esa fórmula, va a quedar exactamente como yo quiero.
Muchísimas gracias.
Saludos!!
Como te darás cuenta, es una limitante de la versión de excel; te pone en minúsculas las palabras.
Esta fórmula te pone la primer letra de cada palabra en mayúscula:
=NOMPROPIO(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa"))
Lo que habías solicitado desde un principio es esto:
"La función "HOY()," (así tal cual viene por defecto) devuelve, lo siguiente: "sábado, 3 de enero de 2015," ¿sí?... ¿Es posible qué la "s" de "Sábado", la muestre en mayúscula?..."
Si quieres que solamente te ponga la primer letra en mayúscula, debes utilizar esta fórmula:
=MAYUSC(IZQUIERDA(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa");1))&MED(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa");2;LARGO(TEXTO(HOY();"[$-F800]dddd, mmmm dd, aaaa")))
La otra opción es hacer una macro.
Pon la siguiente macro en un módulo
Function MayusHoy() 'Por.Dante Amor d = UCase(Left(Format(Date, "dddd"), 1)) b = Mid(Format(Date, "[$-80A]dddd, dd"" de ""mmmm"" de ""yyyy;@"), 2) MayusHoy = d & b End Function
Para utilizar la macro, en lugar de poner hoy() , tienes que poner
Mayushoy()
Resultado:
Domingo, 11 de enero de 2015
Adicionalmente, si quieres que también te aparezca la primer letra del mes, utiliza la siguiente macro.
Function MayusHoy2() 'Por.Dante Amor s = Application.Proper(Format(Date, "dddd")) d = Format(Date, "dd") m = Application.Proper(Format(Date, "mmmm")) a = Format(Date, "yyyy") fec = s & "," & d & " de " & m & " de " & a MayusHoy2 = s & ", " & d & " de " & m & " de " & a End Function
Dante:
Intenté hacer "la segunda" opción. Y resultó lo siguiente:
Hasta allí, ¿todo bien, verdad?...
Pero cuando voy a "Ejecutar" la Macro, muestra el siguiente aviso:
Y si bien intento tipear un "End Sud," después de todo lo antes mostrado, sigue dando error.
¿Algo qué pueda corregir?...
Saludos!!!!
Solamente tienes que poner esta macro. Borra todas las macros y sólo pon esta:
Function MayusHoy2() 'Por.Dante Amor s = Application.Proper(Format(Date, "dddd")) d = Format(Date, "dd") m = Application.Proper(Format(Date, "mmmm")) a = Format(Date, "yyyy") fec = s & "," & d & " de " & m & " de " & a MayusHoy2 = s & ", " & d & " de " & m & " de " & a End Function
Encontré otra forma, prueba con esta fórmula:
=NOMPROPIO(TEXTO(HOY(), "dddd")) & ", " & TEXTO(HOY(), "dd") & " de " & NOMPROPIO(TEXTO(HOY(),"mmmm")) & " de " & TEXTO(HOY(), "aaaa")
Listo", ya tienes varias soluciones, no olvides valorar.
Bueno Dante, creé la Macro y tipié, en cualquier celda de la hoja: "Miércoles 14 de Enero de 2015". Veremos, qué pasa mañana. ¿Sí está bien?...
Ésta última fórmula que me mandó, no, tampoco anduvo.
Gracias,
Saludos.
Tanto la macro como la fórmula funcionan. Revisa nuevamente.
Prueba solamente con este pedazo.
=NOMPROPIO(TEXTO(HOY(), "dddd"))
Te debe poner el día de hoy con mayúsculas, si no te lo pone entonces, es un problema con la versión de excel.
Por lo que deberás utilizar la macro. Sólo recuerda poner una sola macro.
La macro se llama MayusHoy2 y tienes que habilitar tu archivo para macros
Una vez que habilitaste tu archivo para macros, En una celda escribe esto:
=MayusHoy2
Dante, ¿vamos paso a paso, sino, no lo vamos a resolver más. Sí, le parece?...
Cuando yo voy a crear la Macro, tipeo en mí Éxcel 2013, el "atajo" "Alt+F8," abre la siguiente ventana:
¿Sí... Voy bien hasta ahí, verdad?...
Ahora, ¿por qué no habilita el botón "Crear"?...
Saludos!!!!
Tu pregunta inicial ya la contesté, solamente necesitabas que la primera letra quedara como mayúsculas y eso lo he resuelto con fórmula y con macro.
Te pido de favor que valores esta pregunta y crees una nueva para cada petición.
Por último envíame tu archivo y te pongo una fórmula en la celda en que me digas
Mi correo [email protected]
En el asunto del correo escribe tu nombre de usuario "javiergz" y el título de esta pregunta.
- Compartir respuesta