› Sviluppare funzionalita su Microsoft Office con VBA › La data "spedita" in stile europeo, "ritorna" in stile americano.
-
AutoreArticoli
-
Eh, niente, non funziona! La stringa, di per sé funziona, ma quando mi sposto in un altro record mi da errore su CDate. Non so se devo dichiararlo, e come. Ho provato, on funziona. Penso lo faccia anche a te, se ci provi un attimo. Cavolo! Poi, lo stesso meccanismo, sulla pagina delle consulenze funziona!?!
dove c'è CDate mi da errore 13, tipo non corrispondente. Ti prego di dare un'occhiata al file già allegato in un post precedente! grazie!
Procedura = ComBoxProc.Text Cells(currentrow, 10).Value = Procedura dataprocedura = txtDP1.Value Cells(currentrow, 11) = CDate(dataprocedura) Procedura2 = ComBoxProc2.Text Cells(currentrow, 79).Value = Procedura2 DataProcedura2 = txtDP2.Value Cells(currentrow, 80) = CDate(DataProcedura2) Procedura3 = ComBoxProc3.Text Cells(currentrow, 220).Value = Procedura3 DataProcedura3 = TxtDP3.Value Cells(currentrow, 221) = CDate(DataProcedura3)
Ok, ma a me l'errore non lo dà sulla data. Il codice si ferma sulla riga "ACTvalore = tbACT.Text" (dove tbACT.text è una stringa vuota), e bisogna farsi un bel debug per capire quale dato è mancante.
La variabile ACTValore si aspetta un numero (è dichiarata as Long) ma la casella di testo è vuota (restituisce una stringa vuota, non zero) ed ecco il motivo del "tipo non corrispondente".
Ok, ma a me l'errore non lo dà sulla data
Ah ecco, l'errore è saltato fuori anche sulla data. Stesso discorso: Dataprocedura2 è una stringa vuota perchè txtDP2 è una casella di testo vuota e siccome CDate non formatta le stringhe vuote, ecco il messaggio di errore. Bisogna capire perchè le caselle di testo risultano vuote quando invece devono essere valorizzate (con i tipi di dato giusti).
Bè, è bastato compilare i campi delle date ai passi 2 e 3 della schermata della "Procedura". Certo si ferma su ACTValore ma solo perchè il campo "ULTIMA" del frame ACT (quello con gli orari), che non so cosa voglia dire, è vuoto.
Edit by VF: avevo scritto "33" in vece di "3", scusa.
-
AutoreArticoli