Simular un doble clic en VBA

Resuelto
nomitse Mensajes publicados 7 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
Configuración: Windows XP / Firefox 3.5.7

4 respuestas

eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
 
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
2
Gord21 Mensajes publicados 928 Estado Miembro 289
 
Hola,

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
0
nomitse Mensajes publicados 7 Estado Miembro
 
He probado los dos, ninguno funciona.

No entiendo...
0
Gord21 Mensajes publicados 928 Estado Miembro 289
 
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:
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
0
nomitse Mensajes publicados 7 Estado Miembro
 
¡Funciona!

Muchas gracias.

Simón
0
Gord21 Mensajes publicados 928 Estado Miembro 289
 
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
0