Fai un po' di "casino" (scusa il termine ma non trovo altre parole
) con le conversioni.
Tieni conto che il comando "format" converte un valore di input restituendo il valore di output nel formato richiesto.
Estrapolando dal tuo esempio un paio di istruzioni si può notare l'anomalia:
codice:
years = Format(fI.Cells(rigaInput, 1), "yyyy")
... Format(years, "yy") ...
Noti l'anomalia??? Prima estrai da una data l'anno di 4 cifre. Poi il risultato chiedi di convertirlo in un anno a due cifre. Ma l'input di questa ultima conversione non è una data. Il risultato è:
VVoVe:
Inoltre un altro errore è utilizzare nomi di variabili uguali a nomi di funzioni:
codice:
Date = Format(fI.Cells(rigaInput, 1), "dd/mm/yyyy")
Date è una funzione!!! Cambia nome.
Quindi ti segnalo un metodo per calcolare quello che ti serve (forse non il migliore, ma funzionale!).
1) Dalla data di input estrai l'anno di due cifre.
2) Dalla data di input estrai l'ora di due cifre.
3) Il calcolo del numero di giorni dall'inizio dell'anno lo fai correttamente; continua ad usare quel metodo (okkio però: adesso l'anno che estrai precedentemente è di due cifre!!!)
4) Concatena tutto in una stringa trattando tutti i dati per quello che sono, ovvero numerici!!!
Piccolo aiuto in più:
codice:
Format(unNumero, "00000")
Questa funzione restituisce qualsiasi numero passato nel primo argomento con tante cifre quante indicate dagli "zero" del secondo argomento (anteponendo gli zero non significativi davanti).
codice:
"Alfa" && "Bravo" && "Charlie" ...
L'operatore "&&" concatena le stringhe.
A te tradurre tutto in codice.
P.S. Scusa se la mia risposta è un po' confusa e prolissa; ma stanotte ho dormito 1ora e mezza (ed ora comincio a sentirne gli effetti)....