Problema con DTPicker

22/02/2008 - 20:56 por Miguel | Informe spam
En un formulario de entrada de datos que, mediante una macro me copia
los datos en una hoja determinada, entre otros, tengo un DTPicker que
utilizo para introducir la fecha. El problema es que seleccione la
fecha que seleccione, siempre me copia 00/01/1900. ¿A qué puede
deberse?
Muchas gracias.
Miguel A.

Preguntas similare

Leer las respuestas

#1 julian-vlc-sp
22/02/2008 - 21:27 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Si Excel muestra esa fecha da la impresión que está mostrando el valor cero
como fecha


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Miguel" escribió en el mensaje
news:
En un formulario de entrada de datos que, mediante una macro me copia
los datos en una hoja determinada, entre otros, tengo un DTPicker que
utilizo para introducir la fecha. El problema es que seleccione la
fecha que seleccione, siempre me copia 00/01/1900. ¿A qué puede
deberse?
Muchas gracias.
Miguel A.
Respuesta Responder a este mensaje
#2 Juan Español
22/02/2008 - 22:06 | Informe spam
Buenas Miguel,

No puedo ayudarte en tu pregunta por desconocer la respuesta, pero me
interesa mucho la macro que comentas. Entiendo que tienes un formulario que
por ejemplo "hoja1" y al terminarlo te pasa los datos por ejemplo a "hoja2"
en una fila. ¿es así? si fuera así podrías ayudarme a confeccionar dicha
macro.

Gracias.

"Miguel" escribió en el mensaje de
noticias:
En un formulario de entrada de datos que, mediante una macro me copia
los datos en una hoja determinada, entre otros, tengo un DTPicker que
utilizo para introducir la fecha. El problema es que seleccione la
fecha que seleccione, siempre me copia 00/01/1900. ¿A qué puede
deberse?
Muchas gracias.
Miguel A.
Respuesta Responder a este mensaje
#3 Héctor Miguel
22/02/2008 - 22:18 | Informe spam
hola, Miguel !

En un formulario de entrada de datos que, mediante una macro me copia los datos en una hoja determinada
entre otros, tengo un DTPicker que utilizo para introducir la fecha.
El problema es que seleccione la fecha que seleccione, siempre me copia 00/01/1900.
A que puede deberse?



por que no expones el mecanismo, la propiedad, el tipo de vinculo (o lo que sea) que utilizas (en codigo ?)...
- para "tomar" el dato que se seleccione del DTPicker
- para "depositar" (y como y en donde) el resultado de la seleccion
- si utilizas alguna variable (pre)declarada para el tipo de datos
- cuaquier otro detalle que hubieras dejado "en el tintero" -?-

saludos,
hector.
Respuesta Responder a este mensaje
#4 Miguel
23/02/2008 - 14:45 | Informe spam
On 22 feb, 22:18, "Héctor Miguel"
wrote:
hola, Miguel !

> En un formulario de entrada de datos que, mediante una macro me copia los datos en una hoja determinada
> entre otros, tengo un DTPicker que utilizo para introducir la fecha.
> El problema es que seleccione la fecha que seleccione, siempre me copia 00/01/1900.
> A que puede deberse?

por que no expones el mecanismo, la propiedad, el tipo de vinculo (o lo que sea) que utilizas (en codigo ?)...
- para "tomar" el dato que se seleccione del DTPicker
- para "depositar" (y como y en donde) el resultado de la seleccion
- si utilizas alguna variable (pre)declarada para el tipo de datos
- cuaquier otro detalle que hubieras dejado "en el tintero"    -?-

saludos,
hector.



El código que utilizo es el siguiente:

Dim n As Integer

Private Sub CommandButton1_Click()
Dim Salir As Boolean, EstaHoja As String
For n = 1 To 2: If Me.Controls("textbox" & n) = "" Then Salir True: GoTo Verifica
Next
If IsNull(DTPicker1) Then Salir = True
Verifica:
If Salir Then MsgBox "FALTAN CASILLAS POR LLENAR !!!": Exit Sub
EstaHoja = IIf(TextBox2 = "SIN DETENIDO", "estadistica_1",
"estadistica")
With Worksheets(EstaHoja)
With .Range("a65536").End(xlUp).Offset(1)
.Value = .Row - 6
Range("registro") = .Value + 1
.Offset(, 1) = DTPicker1
.Offset(, 2) = TextBox1.Value
.Offset(, 3) = TextBox2
.Offset(, 4) = TextBox3
.Offset(, 5) = ComboBox1
.Offset(, 6) = TextBox4.Value
For n = 2 To 5: .Offset(, n + 5) = Controls("combobox" & n):
Next
.Offset(, 11) = ComboBox6
.Offset(, 12) = TextBox7.Value
.Offset(, 13) = ComboBox7
.Offset(, 14) = TextBox5.Value
.Offset(, 15) = TextBox6.Value
For n = 8 To 9: .Offset(, n + 8) = Controls("combobox" & n):
Next
.Offset(, 18) = TextBox8.Value
.Offset(, 19) = TextBox8.Value
End With
End With
End Sub

Private Sub CommandButton2_Click()
DTPicker1 = Null
For n = 1 To 9: Me.Controls("textbox" & n) = "": Next
For n = 1 To 9: Me.Controls("combobox" & n).ListIndex = -1: Next
' Worksheets("listas").Visible = True
' Worksheets("listas").Select
' Worksheets("listas").Visible = False
Worksheets("Formulario").Select
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal
Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
Calendar1.Today
End Sub

Sub Nombre_a_listas()
Dim nCol As Byte, Listados As Range, n As Byte, TitulosA, TitulosB
TitulosA = Array("Uni", "Des", "Nac", "Mot", "Pro", "Vue", "Sex",
"Tip", "Sis", "Inf", "Fun")
TitulosB = Array("Unidad", "Destino", "Nacionalidad", "Motivo",
"Procedencia", "Vuelo", "Sexo", "Tipo de Sustancia", "Sistema de
Oculatacion", "Informacion", "Funcionarios")
On Error Resume Next
For n = LBound(TitulosA) To UBound(TitulosA):
Names(TitulosA(n)).Delete: Next
On Error GoTo 0
Range("a1:k1") = TitulosA
Set Listados = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
For nCol = 2 To 11
Set Listados = Union(Listados, Range(Cells(1, nCol), Cells(1,
nCol).End(xlDown)))
Next
Listados.Select
Selection.CreateNames True
Range("a1:k1") = TitulosB
Range("a1").Select
Set Listados = Nothing
End Sub

Private Sub Workbook_Open()
Sheets("Inicio").Select
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("Inicio", "Formulario",
"Estadistica", "Tabla", "Listas"))
Hoja.Protect Password:="123", UserInterfaceOnly:=True
Next
Range("fecha").Value = Date
End Sub

Muchas gracias por vustras contestaciones.
Un saludo,
Miguel A.
Respuesta Responder a este mensaje
#5 Héctor Miguel
23/02/2008 - 20:39 | Informe spam
hola, Miguel !

El codigo que utilizo es el siguiente: (...)



1) en el codigo que expones, la (unica) instruccion que "administra" el valor del DTPicker1 es la que hace el "pase" a la hoja:
.Offset(, 1) = DTPicker1



2) prueba eliminando el procedimiento de evento: > Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer...
no creo que sea necesario (ademas de que no se aprecia la existencia de algun control "Calendar1" en el formulario) -?-

3) hice pruebas con el archivo anterior que habias proporcionado y... (sin problemas)...
a menos que (ahora) hubieras modificado/alterado/... otras propiedades, aumentado controles/eventos/codigos/... -???-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __
Dim n As Integer
Private Sub CommandButton1_Click()
Dim Salir As Boolean, EstaHoja As String
For n = 1 To 2: If Me.Controls("textbox" & n) = "" Then Salir = True: GoTo Verifica
Next
If IsNull(DTPicker1) Then Salir = True
Verifica:
If Salir Then MsgBox "FALTAN CASILLAS POR LLENAR !!!": Exit Sub
EstaHoja = IIf(TextBox2 = "SIN DETENIDO", "estadistica_1", "estadistica")
With Worksheets(EstaHoja)
With .Range("a65536").End(xlUp).Offset(1)
.Value = .Row - 6
Range("registro") = .Value + 1
.Offset(, 1) = DTPicker1
.Offset(, 2) = TextBox1.Value
.Offset(, 3) = TextBox2
.Offset(, 4) = TextBox3
.Offset(, 5) = ComboBox1
.Offset(, 6) = TextBox4.Value
For n = 2 To 5: .Offset(, n + 5) = Controls("combobox" & n): Next
.Offset(, 11) = ComboBox6
.Offset(, 12) = TextBox7.Value
.Offset(, 13) = ComboBox7
.Offset(, 14) = TextBox5.Value
.Offset(, 15) = TextBox6.Value
For n = 8 To 9: .Offset(, n + 8) = Controls("combobox" & n): Next
.Offset(, 18) = TextBox8.Value
.Offset(, 19) = TextBox8.Value
End With
End With
End Sub

Private Sub CommandButton2_Click()
DTPicker1 = Null
For n = 1 To 9: Me.Controls("textbox" & n) = "": Next
For n = 1 To 9: Me.Controls("combobox" & n).ListIndex = -1: Next
' Worksheets("listas").Visible = True
' Worksheets("listas").Select
' Worksheets("listas").Visible = False
Worksheets("Formulario").Select
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
Calendar1.Today
End Sub

Sub Nombre_a_listas()
Dim nCol As Byte, Listados As Range, n As Byte, TitulosA, TitulosB
TitulosA = Array("Uni", "Des", "Nac", "Mot", "Pro", "Vue", "Sex", "Tip", "Sis", "Inf", "Fun")
TitulosB = Array("Unidad", "Destino", "Nacionalidad", "Motivo", "Procedencia", "Vuelo", "Sexo", "Tipo de Sustancia", "Sistema de Oculatacion", "Informacion", "Funcionarios")
On Error Resume Next
For n = LBound(TitulosA) To UBound(TitulosA): Names(TitulosA(n)).Delete: Next
On Error GoTo 0
Range("a1:k1") = TitulosA
Set Listados = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
For nCol = 2 To 11
Set Listados = Union(Listados, Range(Cells(1, nCol), Cells(1, nCol).End(xlDown)))
Next
Listados.Select
Selection.CreateNames True
Range("a1:k1") = TitulosB
Range("a1").Select
Set Listados = Nothing
End Sub

Private Sub Workbook_Open()
Sheets("Inicio").Select
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("Inicio", "Formulario", "Estadistica", "Tabla", "Listas"))
Hoja.Protect Password:="123", UserInterfaceOnly:=True
Next
Range("fecha").Value = Date
End Sub



__ la consulta original __
En un formulario de entrada de datos que, mediante una macro me copia los datos en una hoja determinada
entre otros, tengo un DTPicker que utilizo para introducir la fecha.
El problema es que seleccione la fecha que seleccione, siempre me copia 00/01/1900.
A que puede deberse?



por que no expones el mecanismo, la propiedad, el tipo de vinculo (o lo que sea) que utilizas (en codigo ?)...
- para "tomar" el dato que se seleccione del DTPicker
- para "depositar" (y como y en donde) el resultado de la seleccion
- si utilizas alguna variable (pre)declarada para el tipo de datos
- cuaquier otro detalle que hubieras dejado "en el tintero" -?-
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida