Cómo dar formato a un fecha en excel vba

Tengo un userform a través del cual se selecciona la fecha con MonthView sin embargo cuando el dato de fecha se guarda en una celda en excel no se guarda en el formato dd/mmm/yyyy mostrando una fecha totalmente diferente.

Fecha Seleccionada: 05/febrero/2015.

Fecha Guardada en Celda: 02/may/2015.

Necesito que la información de la fecha seleccionada se almacene en formato dd/mmm/yyyy.

Agradezco la ayuda.

Así se guardó en la celda de excel.

1 respuesta

Respuesta
2

¿Pero estás pasando la fecha del mothview a un textbox?

La idea del mothview, es tener la fecha, sin necesidad de capturarla o de pasarla a un textbox.

Otra opción es, en lugar de monthview, utiliza DTPicker, ese control tiene la apariencia de un textbox.

Si lo quieres en un textbox y pasarlo a la celda, entonces realiza lo siguiente:

    Dim fec As Date
    fec = TextBox1
    [A5] = fec

En la celda A5 te va a poner la fecha, pero primero tienes que declarar la variable fec como tipo fecha.

Revisa las opciones y me comentas.

Saludos. Dante Amor

Hola Dante,

Lo puse en un textbox porque la persona que llena el userform debe poder escoger la fecha del documento.

Muchas veces el documento se recibió ayer en la noche y el usuario lo registra hoy.

Dante,

Hay otro archivo que tengo que crear en el que hay varias fechas que almacenar.

Ejemplo.

Fecha de Apertura de la Cuenta

Fecha de la Transacción

Fecha de la Alerta

Fecha de Revisión

Fecha de Contacto

De todas estas fechas debo ir calculando tiempos y necesito que tengan un formato definido.

Cuando usé el textbox lo tomé de una explicación que diste a otra consulta.

Saludos,

Antes de valorar la respuesta, puedes pedir más información hasta que te entregue la respuesta que necesitas.

Como te había comentado, puedes pasar la fecha que tienes en el texbox a una celda de esta forma:

Dim fec As Date    fec = TextBox1    [A5] = fec

Prueba esa manera y me comentas.

Otra opción es la siguiente:

    [A5] = Format(TextBox1, "mm/dd/yyyy")

Aunque parece que el formato de fecha lo estoy poniendo como mes / dia /año, lo que sucede es que el lenguaje de programación está hecho en inglés, entonces las fechas las toma en inglés, pero al momento que la pasas a tu celda toma la configuración de tus fechas.

Prueba ambas opciones y me comentas.

Te anexo el código para el userform1

Private Sub CommandButton1_Click()
'
    If TextBox3 = "" Then
        MsgBox "Favor Completar el Número de cuenta"
        TextBox3.SetFocus
        Exit Sub
    End If
    If TextBox4 = "" Then
        MsgBox "Favor Completar el Nombre del cliente"
        TextBox4.SetFocus
        Exit Sub
    End If
    If TextBox5 = "" Then
        MsgBox "Favor Completar el DNI o RUC"
        TextBox5.SetFocus
        Exit Sub
    End If
    If IsNull(DTPicker1.Value) Then
        MsgBox "Favor Completar la Fecha de recepción"
        DTPicker1.SetFocus
        Exit Sub
    End If
    If ComboBox1 = "" Then
        MsgBox "Favor Completar el Oficial de la cuenta"
        ComboBox1.SetFocus
        Exit Sub
    End If
    '
    Sheets("REGISTROS").Select
    ult1 = Cells(Rows.Count, 1).End(xlUp).Row
    ult1 = ult1 + 1
    '
    TextBox1.Text = Date
    TextBox2.Value = Sheets("REGISTROS").Range("A65536").End(xlUp).Value + 9
    '
    Cells(ult1, "A") = TextBox2.Text
    Cells(ult1, "B") = TextBox3.Text
    Cells(ult1, "C") = TextBox4.Text
    Cells(ult1, "D") = TextBox5.Text
    Cells(ult1, "E") = Format(DTPicker1, "mm/dd/yyyy")
    Cells(ult1, "F") = ComboBox1.Value
    Cells(ult1, "G") = Format(Date, "mm/dd/yyyy")
    Cells(ult1, "H") = Format(Date, "mmmm")
    Cells(ult1, "I") = Year(Date)
    '
    TextBox1.Text = ""
    TextBox2.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
    TextBox5.Text = ""
    ComboBox1 = ""
    '
    TextBox2.Value = Sheets("REGISTROS").Range("A65536").End(xlUp).Value + 9
End Sub

Podrías crear una nueva pregunta para el userform2

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas