La fecha del formulario es texto como convertir a numero

La fecha del calendario en mi formulario al pasar a la hoja activa es texto, esto no me permite que a iniciar controles de gastos entre fechas determinadas no lo pueda resolver.

Respuesta
1

Si tienes un textbox o un control de fecha, puedes utilizar la función CDate( )

Por ejemplo:

    Sheets("Hoja2").Range("B2") = CDate(TextBox1.Value)
    Sheets("Hoja2").Range("B4") = CDate(DTPicker1.Value)

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola Dante

buenas noches por favor donde tendría que colocar la función que me indicas

Te adjunto la macro en la cual estoy trabajando, es en excel 2003

Private Sub UserForm_Activate()

Calendar1.Value = Date
End Sub

Private Sub Calendar1_Click()

TextFecha.Value = Calendar1.Value

'oculta el calendar
Calendar1.Value = False

End Sub

Private Sub TextFecha_Change()

largo_entrada = Len(Me.TextFecha)
Select Case largo_entrada
Case 2
Me.TextFecha.Value = Me.TextFecha.Value & "/"
Case 5
Me.TextFecha.Value = Me.TextFecha.Value & "/"
End Select

Calendar1.Value = True

End Sub


Private Sub jcinsertar_Click()

Dim Fecha As String 'Variable para almacenar valores de Fecha

Dim Cliente As String 'Variable para almacenar valores de cliente

Dim Destino As String 'Variable para almacenar valores de Destino

Dim Localidad As String 'Variable para almacenar valores de Localidad

Dim Importe As String 'Variable para almacenar valores de Importes

Dim Combustible As String 'Variable para almacenar valores de Combustible

Dim UltimaFila As Double 'Variable que almacena ultima fila


Fecha = TextFecha.Value 'Paso del formulario a la variable

Cliente = TextCliente.Value 'Paso del formulario a la variable

Destino = TextDestino.Value 'Paso del formulario a la variable

Localidad = TextLocalidad.Value 'Paso del formulario a la variable

Importe = TextCosto.Value 'Paso del formulario a la variable

Combustible = TextCombustible.Value 'Paso del formulario a la variable


UltimaFila = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count


Cells(UltimaFila + 1, 1) = Fecha

Cells(UltimaFila + 1, 2) = Cliente

Cells(UltimaFila + 1, 3) = Destino

Cells(UltimaFila + 1, 4) = Localidad

Cells(UltimaFila + 1, 5) = Importe

Cells(UltimaFila + 1, 6) = Combustible


TextFecha = Empty
TextCliente = Empty
TextDestino = Empty
TextLocalidad = Empty
TextCosto = Empty
TextCombustible = Empty


TextFecha.SetFocus


Calendar1.Value = True

End Sub

Supongo que en Calendar1 tienes una Clase o un Userform que te permite seleccionar una fecha.

También supongo que en TextFecha se almacena una fecha del tipo "dd/mm/aaaa"

Si las suposiciones son correctas, en el evento

Private Sub jcinsertar_Click()

Borra esta línea:

Dim Fecha As String 'Variable para almacenar valores de Fecha

Nota: En VBA no es necesario declarar variables

Según su función ¿Cómo declarar variables?


Cambia esta línea:

Fecha = TextFecha.Value 'Paso del formulario a la variable

Por esta:

Fecha = cdate(TextFecha.value)

Prueba y me comentas.

Si te funciona, no olvides cambiar la valoración de la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas