Excel dosyalarından (yüzlerce veya binlerce dosya) SQL sorgusu kullanan bir Excel tablosuna veri topluyorum.Excel VBA türleri dönüştürme hatası
nasılsa Excel dosyalarındaki tüm sayılar tarihi formatında depolanır (ADO Fields (i) .Type = 7) ve sayısal biçim ex ile onları geri dönüştürülürken.Sorun:
myVar = cDbl(recordset.Fields(8).Value)
Sonucu o zamandan büyük bir sonuç alırım.
Bu hata 60'dan küçük numaralar için geçerlidir (eskiden 01.03.1900 önce).
Yaygın sorun olmalı, ancak nasıl düzeltileceğine dair herhangi bir fikrim bulamadım.
Bu doğru görünmüyor. Sayaç = Sayaç + 1’den önce görebildiğim kadarıyla “Dim' için Sayaç yok”. Yani, ilk aşamada 0'dır ve bu nedenle ilk "ReDim" 1'den 0'a ve sonra 1'den 1'e gider. Dizininizi karıştırıyor olabilir miydiniz? Varsayılan olarak VBA, 'Seçenek Tabanı 0 'kullanır. Yani, 'ReDim Preserve o_Summ (0 To Counter) 'ya da Sayaç 1'e (döngüden önce),' 'Long' olarak Dim'ye ve' ReDim Preserve o_Summ (Counter)' (sadece elemanların belirtilmesi ve nerede başlanacağı veya bitmeyeceği durumlar. – Ralph
Kodunuz anlamsız mı? Fso.GetFolder (Path) döngüsü, iç rs.eof döngüsüne hiçbir şey eklemiyor. – Jules