Simptomi
Kada programsku promjenu unesete u vrijednost u ćeliji na radnom listu programa Microsoft Excel, vrijednost milisekunde koju navedete zaokružuje se na najbližu drugu. Taj se problem pojavljuje kada su ispunjeni sljedeći uvjeti:
-
Promjena koju izvršite dodjeljuje VBA oblik datuma ili oblik datuma varijante u ćeliju.
-
Programsku promjenu možete stvoriti pomoću makronaredbe Visual Basic for Applications ili pomoću vanjskog klijenta za automatizaciju.
Taj se problem ne javlja kada promjena koju izvršite dodjeljuje oblik datuma ili oblik vremena u ćeliju.
Uzrok
Taj se problem pojavljuje jer Excel interno oblikuje nizove datuma u skladu s oblikom datuma i vremena koji je naveden na kartici Regionalne mogućnosti u stavci Regionalne i jezične mogućnosti na upravljačkoj ploči. Ta je vrijednost zaobljena do najbliže sekunde. Excel ovu vrijednost dodjeljuje ćeliji, a zatim ponovno izračunava vrijednost da bi se stvorila nova vrijednost datuma za ćeliju.
Zaobilazno rješenje
Da biste zaobišli taj problem, upotrijebite jedan od sljedećih načina.
Prva metoda
Vrijednost datuma možete pretvoriti u oblik niza koji sadrži djelić sekunde. Vrijednost niza može se dodijeliti i izračunati kao oblik datuma koji zadržava milisekundama.
Druga metoda
Svojstvo Value2 objekta raspona možete koristiti za zadržavanje milisekundi. Možete, primjerice, koristiti sljedeći VBA kod.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
Dodatne informacije potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
182812 Opis svojstva Value2 za objekt raspona