XL98: IsDate Function identifica incorrectamente algunos expresiones

Seleccione idioma Seleccione idioma
Id. de artículo: 184522 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

En Microsoft Excel 98 Macintosh Edition, si ejecuta una macro Visual Basic para aplicaciones que utiliza la función IsDate para determinar si una expresión se puede convertir en una fecha, la función puede devolver el valor booleano true. Este resultado es incorrecto.

Causa

Este problema se produce si la expresión que se evalúa la función IsDate utiliza un formato de fecha que normalmente no se reconoce como válido por Microsoft Excel. No se reconocen los siguientes formatos de fecha.
   Format           Example
   -----------------------------
   year-day-month   2002, 5 July
   month-year-day   July, 2002 5
   day-year-month   5, 2002 July
				
Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos. Por ejemplo, si ejecuta la macro siguiente
   Sub TestIsDateFunction()
 
       MyDate = "2002, 5 July"   'an invalid date expression
       MsgBox IsDate(MyDate)     'is it a date?
 
   End Sub
				
el cuadro de mensaje muestra True en lugar de false aunque la fecha no es válida en Microsoft Excel.

Solución

Si una expresión utiliza un formato de fecha que incluye un año, mes y día, en cualquier orden, la función IsDate devuelve True. No hay ninguna forma para evitar este comportamiento.

Sin embargo, puede utilizar la función CFecha para convertir expresiones no válidas en fechas válidas, por ejemplo:
   Sub ConvertDate()
 
       MyDate = "2002, 5 July"   'an invalid date expression
       CnDate = CDate(MyDate)    'convert MyDate into a valid date
       MsgBox CnDate             'display the new, valid date
 
   End Sub
				

Estado

Este comportamiento es por diseño de Visual Basic para aplicaciones.

Más información

Según la configuración regional que se utilizan en el equipo, Microsoft Excel reconoce normalmente expresiones que utilizan cualquiera de los siguientes formatos como fechas.
   Format           Example
   -----------------------------
   month-day-year   July 5, 2002
   day-month-year   5 July, 2002
   year-month-day   2002, July 5
				
por ejemplo, si escribe "5 de julio de 2002" en una celda, Microsoft Excel convierte esta expresión en una fecha adecuada.

Microsoft Excel no reconoce como fechas expresiones que utilizan otros formatos (como día mes año). Sin embargo, debido del diseño de la función IsDate, devuelve True para cualquier expresión que contiene un año, mes y día, en cualquier orden.

Propiedades

Id. de artículo: 184522 - Última revisión: martes, 11 de febrero de 2014 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Excel 98 para Macintosh
Palabras clave: 
kbnosurvey kbarchive kbmt kbcode kbdtacode kbprb kbprogramming KB184522 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 184522

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com