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

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

    No entiendo...
    0
    1. 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
  4. nomitse Mensajes publicados 7 Estado Miembro
     
    ¡Funciona!

    Muchas gracias.

    Simón
    0
    1. 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