Simular un doble clic en VBA
Resuelto
nomitse
Mensajes publicados
7
Estado
Miembro
-
Gord21 Mensajes publicados 928 Estado Miembro -
Gord21 Mensajes publicados 928 Estado Miembro -
Hola,
he creado un Userform en el que hay un cuadro de texto donde se debe ingresar una fecha. Gracias a un botón he exportado esta fecha a una celda específica. Previamente he personalizado el formato de la celda para que la fecha se muestre de la siguiente manera: aaaa-mm-dd
Todo transcurre bien y mi fecha se exporta a la celda requerida, pero el formato no se tiene en cuenta. Sin embargo, está bien configurado en la celda cuando voy a revisar mi formato de celda personalizado.
Para que mi fecha aparezca correctamente, tengo que hacer doble clic en la celda y presionar la tecla Intro. Solo entonces se toma en cuenta el formato correcto.
Por eso me dirijo a ustedes para encontrar un comando que me permita simular un doble clic en la celda. O cualquier otra solución siempre que funcione.
Gracias de antemano.
simon
he creado un Userform en el que hay un cuadro de texto donde se debe ingresar una fecha. Gracias a un botón he exportado esta fecha a una celda específica. Previamente he personalizado el formato de la celda para que la fecha se muestre de la siguiente manera: aaaa-mm-dd
Todo transcurre bien y mi fecha se exporta a la celda requerida, pero el formato no se tiene en cuenta. Sin embargo, está bien configurado en la celda cuando voy a revisar mi formato de celda personalizado.
Para que mi fecha aparezca correctamente, tengo que hacer doble clic en la celda y presionar la tecla Intro. Solo entonces se toma en cuenta el formato correcto.
Por eso me dirijo a ustedes para encontrar un comando que me permita simular un doble clic en la celda. O cualquier otra solución siempre que funcione.
Gracias de antemano.
simon
Configuración: Windows XP / Firefox 3.5.7
4 respuestas
Hola,
Creo que es sobre todo el cdate() indicado por gord21 el que debía faltar, normalmente no es necesario redefinir el formato de la celda.
eric
Creo que es sobre todo el cdate() indicado por gord21 el que debía faltar, normalmente no es necesario redefinir el formato de la celda.
eric
Hola,
Puedes intentar:
donde A1 corresponde a tu celda.
Si no, puedes intentar:
pero no estoy seguro de que eso funcione para el formato
--
Experiencia: el nombre con el que los hombres bautizan sus errores.
Oscar Wilde
Puedes intentar:
Range("A1").Select Application.DoubleClick donde A1 corresponde a tu celda.
Si no, puedes intentar:
Range("A1").Calculate pero no estoy seguro de que eso funcione para el formato
--
Experiencia: el nombre con el que los hombres bautizan sus errores.
Oscar Wilde
No entiendo, he intentado poner tu formato en las celdas A1 y A2, y he dejado Estándar en las demás, luego, ejecuté el código:
Y funciona en mi caso (para el formato, queda un ajuste día/mes por realizar)
¿Cómo ingresaste tu fecha (un campo día, un mes, un año y lo recombinas, o ???)
--
Experiencia: nombre que los hombres dan a sus errores.
Oscar Wilde
Dim test As String test = "12/01/2010" Range("A1").Value = test Range("A2").Value = CDate(test) Range("B1").Value = test Range("B1").NumberFormat = "yyyy-mmm-dd" Range("B2").Value = CDate(test) Range("B2").NumberFormat = "yyyy-mmm-dd" Y funciona en mi caso (para el formato, queda un ajuste día/mes por realizar)
¿Cómo ingresaste tu fecha (un campo día, un mes, un año y lo recombinas, o ???)
--
Experiencia: nombre que los hombres dan a sus errores.
Oscar Wilde
Hola,
Para tu información, para seleccionar tu fecha tienes la posibilidad de mostrar un calendario en tu UserForm. Seleccionas Herramientas/Controles adicionales y añades Control de Calendario: aparecerá un nuevo control de calendario en tu menú de herramientas.
--
Experiencia: el nombre con el que los hombres bautizan sus errores.
Oscar Wilde
Para tu información, para seleccionar tu fecha tienes la posibilidad de mostrar un calendario en tu UserForm. Seleccionas Herramientas/Controles adicionales y añades Control de Calendario: aparecerá un nuevo control de calendario en tu menú de herramientas.
--
Experiencia: el nombre con el que los hombres bautizan sus errores.
Oscar Wilde