Gejala
Saat Anda membuat perubahan terprogram ke nilai dalam sel di lembar kerja Microsoft Excel, nilai milidetik yang Anda tentukan dibulatkan ke detik terdekat. Masalah ini terjadi jika kondisi berikut ini benar:
-
Perubahan yang Anda buat menetapkan format tanggal VBA atau format tanggal varian ke sel.
-
Anda membuat perubahan terprogram dengan menggunakan Visual Basic for Applications makro atau dengan menggunakan klien otomatisasi eksternal.
Masalah ini tidak terjadi ketika perubahan yang Anda buat menetapkan format tanggal atau format waktu ke sel.
Penyebab
Masalah ini terjadi karena format tanggal internal Excel string sesuai dengan format tanggal dan waktu yang ditentukan pada tab opsi kawasandan item opsi bahasa dalam panel kontrol. Nilai ini dibulatkan ke yang kedua terdekat. Excel menetapkan nilai ini ke sel lalu menghitung ulang nilai untuk menghasilkan nilai tanggal baru untuk sel tersebut.
Penyelesaian Masalah
Gunakan salah satu metode berikut ini untuk mengatasi masalah ini.
Metode 1
Anda dapat mengonversi nilai tanggal ke dalam format string yang berisi sepersekian detik. Nilai string ini dapat ditetapkan ke dan dihitung sebagai format tanggal yang mempertahankan milidetik.
Metode 2
Anda dapat menggunakan properti nilai2 dari objek Range untuk mempertahankan milidetik. Misalnya, Anda bisa menggunakan kode VBA berikut ini.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
Untuk informasi tambahan, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
182812 Deskripsi properti Nilai2 untuk objek rentang