Conversión de fechas a texto (Microsoft Excel)
Debbie tiene una hoja de trabajo que tiene muchas fechas. Para concatenar datos con las fechas, tiene que editar cada celda que contiene una fecha y agregar un apóstrofo antes de la fecha. Se pregunta si hay una forma rápida de hacer esto. Ha intentado resaltar la fila y formatearla como texto, pero no funcionó.
Si Debbie quiere automatizar el trabajo manual que está haciendo, podría hacerlo con una macro. Lo siguiente convierte automáticamente las celdas seleccionadas en texto y vuelve a introducir la fecha en la celda.
Sub DateToText() Dim cell As Range Dim sTemp As String For Each cell In Selection With cell sTemp = .Text .NumberFormat = "@" .Value2 = sTemp End With Next cell End Sub
Tenga en cuenta el uso de la propiedad .Value2 en lugar de la propiedad .Value al volver a introducir el texto en la celda. Esto se hace para garantizar que Excel no convierta inadvertidamente el texto en un valor de fecha. No debería hacerlo de todos modos, pero la propiedad .Value2 no admite el tipo de datos Fecha, por lo que cualquier conversión potencial está, por naturaleza, excluida.
También debe tener en cuenta que la macro convertirá todo lo que haya seleccionado, incluso si no contiene una fecha. Querrá asegurarse de seleccionar solo las celdas que contienen fechas antes de ejecutarlo.
Por supuesto, la forma más fácil de hacer lo que Debbie está tratando de hacer es usar la función de la hoja de trabajo TEXTO. Supongamos, por ejemplo, que la celda A1 contiene una fecha. En una celda diferente, deseaba poner las palabras «La fecha límite es» antes de la fecha. Podrías hacer eso con una fórmula como esta:
="The deadline is " & TEXT(A1, "mmmm d, yyyy")
Tenga en cuenta que la función TEXTO requiere dos parámetros: La celda a convertir (A1, en este caso) y un patrón para usar en la conversión («mmmm d, aaaa»). Si la celda A1 contiene una fecha como el 25/6/16, la fórmula devuelve lo siguiente:
The deadline is June 25, 2016
El patrón que especifica, entre comillas, sigue muy de cerca los patrones que usaría para definir un formato personalizado para una celda. Por ejemplo, «mmm» devuelve un nombre de mes de tres caracteres mientras que «mmmm»
devuelve un nombre de mes completamente escrito. Los códigos que usaría en el patrón se han tratado en otros consejos de Excel, pero también puede encontrar un resumen útil de códigos que se corresponden convenientemente con lo que usa Excel en Wikipedia:
https://en.wikipedia.org/wiki/Date_format_by_country
Un punto interesante con respecto a este enfoque es que realmente no importa cómo se formatee la fecha en la celda A1. Cuando utiliza TEXT, se basa en el número de serie subyacente que utiliza Excel para almacenar la fecha y luego lo formatea de acuerdo con el patrón que especifique, independientemente de cualquier formato en la celda que contiene la fecha.
Por supuesto, si desea realizar una conversión directa a texto, no tiene que concatenar nada con la fecha. En este caso, solo usaría la función TEXT por sí misma:
=TEXT(A1, "mmmm d, yyyy")
La función TEXTO, por naturaleza, devuelve un valor estrictamente de texto.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (13450) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.