Belirtiler
Bir Microsoft Excel çalışma sayfasındaki hücrede bir programlı değişiklik yaptığınızda, belirttiğiniz milisaniyelik değeri en yakın saniye yuvarlanacaktır. Bu sorun, aşağıdaki koşullar doğru olduğunda oluşur:
-
Yaptığınız değişiklik, hücreye VBA tarih biçimini veya VARIANT tarih biçimini atar.
-
Bir Visual Basic for Applications makrosu veya dış Otomasyon istemcisi kullanarak programlı değişikliği yapabilirsiniz.
Bu sorun, yaptığınız değişiklik hücreye tarih biçimi veya saat biçimi atarken oluşmaz.
Neden
Bu sorun, Excel 'In Tarih dizelerini Denetim Masası 'ndaki bölge ve dil seçenekleri öğesinin Bölgesel Seçenekler sekmesinde belirtilen tarih ve saat biçimine göre biçimlendirdiği için oluşur. Bu değer en yakın saniye yuvarlanacaktır. Excel bu değeri hücreye atar ve ardından hücreyi yeni bir tarih değeri üretecek şekilde yeniden hesaplar.
Geçici Çözüm
Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın.
Yöntem 1
Tarih değerini ikinci kesir içeren bir dize biçimine dönüştürebilirsiniz. Bu dize değeri, milisaniyeyi koruyan bir tarih biçimi olarak atanabilir ve hesaplanır.
Yöntem 2
Milisaniyeyi korumak için Aralık nesnesinin değer2 özelliğini kullanabilirsiniz. Örneğin, aşağıdaki VBA kodunu kullanabilirsiniz.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
Ek bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
182812 Range nesnesinin değer2 özelliğinin açıklaması