Change date format of VBA userform textbox data

Occasional Contributor

I have a textbox in a userform.  . When I pick the date  "12-10-2015" in the userform, the date is loaded into a textbox. This textbox  say 12-10-2015. Exactly how I need it. However, when I populate it back to my data sheets, it changes the value to 10-12-2015.

How can i fix this.

'INSTRUCCIONES PICANDO EL BOTON
Private Sub BOTON_REGISTRAR_INGRESO_Click() 'ESTO ES LO QUE HACE EL BOTON

'MACRO PARA ACELERAR LOS PROCESOS Y HACERLOS MAS RAPIDO
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False

Dim FechaIngreso As String
Dim CuentaDeOrigen As String 'DECLARO VARIABLES Y TIPO DE VARIABLE
Dim TipoIngreso As String
Dim CategoriaIngreso As String
Dim FormadePagoIngreso As String
Dim ConceptoIngreso As String
Dim MontoIngreso As Currency
Dim ComentariosIngreso As String
Dim ultfila As Long

'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
FechaIngreso = Fecha_Ingr.value

'MENSAJE SINO SE INGRESA FECHA
If FechaIngreso = "" Then
MsgBox ("Por favor ingrese una fecha"), vbInformation, "Datos incompletos"
Exit Sub
End If
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
CuentaDeOrigen = Cuenta_org_ingr.value
'MENSAJE SINO SE INGRESA NEGOCIO
If CuentaDeOrigen = "" Then
MsgBox ("Por favor seleccione la cuenta de origen"), vbInformation, "Datos incompletos"
Exit Sub
End If
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
TipoIngreso = Tipo_Ingreso.value
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
CategoriaIngreso = Catego_Ing.value
'MENSAJE SINO SE INGRESA CATEGORIA
If CategoriaIngreso = "" Then
MsgBox ("Por favor seleccione una categoría"), vbInformation, "Datos incompletos"
Exit Sub
End If
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
FormadePagoIngreso = Form_Pago_Ing.value
'MENSAJE SINO SE INGRESA FORMA DE PAGO
If FormadePagoIngreso = "" Then
MsgBox ("Por favor seleccione una forma de pago"), vbInformation, "Datos incompletos"
Exit Sub
End If
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
ConceptoIngreso = Concep_Ing.value
'MENSAJE SINO SE INGRESA CONCEPTO
If ConceptoIngreso = "" Then
MsgBox ("Por favor escriba un concepto"), vbInformation, "Datos incompletos"
Exit Sub
End If
'LLAMO A LA VARIABLE DECLARADA Y LE ASIGNO EN DONDE ESTÁ
MontoIngreso = Monto_Ingr.value
'VALIDACIÓN NUMERO NEGATIVO Y MENSAJE DE ERROR
If Val(Monto_Ingr.value) < 0 Then
        MsgBox "Solo se permiten números positivos. Revise el MONTO ingresado", vbExclamation, "Error"
                 Exit Sub
                  End If
ComentariosIngreso = Comentario_Ingr.value

'EMPIEZA A UBICAR LA ULTIMA FILA VACÍA A PARTIR DE LA CELDA B2 VACÍA
If Sheets("Datos").Range("B2") = "" Then
ultfila = 2
Else
ultfila = Sheets("Datos").Range("C" & Rows.Count).End(xlUp).Row + 1
End If

'SE SEÑALA DONDE PONER CADA DATO
Sheets("Datos").Cells(ultfila, 3) = FechaIngreso 'SE VA  LA HOJA INDICADA Y PEGA EN LA ULTIMA FILA,SESEÑALA LA COLUMNA DONDE VA EL DATO Y LE DICES QUE DATO VA A PEGAR QUE ES LA VARIABLE DECLARADA
Sheets("Datos").Cells(ultfila, 4) = CuentaDeOrigen
Sheets("Datos").Cells(ultfila, 5) = TipoIngreso
Sheets("Datos").Cells(ultfila, 6) = CategoriaIngreso
Sheets("Datos").Cells(ultfila, 7) = FormadePagoIngreso
Sheets("Datos").Cells(ultfila, 8) = ConceptoIngreso
Sheets("Datos").Cells(ultfila, 9) = MontoIngreso
Sheets("Datos").Cells(ultfila, 10) = ComentariosIngreso

Registro_exitoso.Show

'MACRO PARA ACELERAR LOS PROCESOS Y HACERLOS MAS RAPIDO

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False


End Sub

datepicker.png

2 Replies

@jorgeliber 

 

Try to change the Number Format of the cell before writing the date in it like this and see if that works for you...

 

Sheets("Datos").Cells(ultfila, 3).NumberFormat = "dd/mm/yyyy"