eqsell125
Yeni Üye
- Katılım
- 31 May 2022
- Mesajlar
- 7
- Aldığı beğeni
- 0
- Excel V
- Office 2016 TR
Konu Sahibi
Merhaba,
Excel VBA i kendi kendime öğrenmiş biri olarak bazı bilgi eksiklerimi tamamlamaya çalışıyorum
Dizileri statik veya dinamik (variant) tanımlamanın ne gibi avantajı/dezavantajı var? Benim farkettiğim farklar şunlar. Dizi dinamik tanımlanırsa elemanların index numaralarıyla işlem yapamıyorum. Mesela Dim Ar() as Variant diye tanımladıktan sonra Ar(1)=10 diyemiyoruz. Ama excel sayfası üzerindeki bir aralığı göstererek Ar = range("a1:c30") verileri diziye kolayca kaydediyor.
Sayfaya geri yazdırmada da dinamik diziler kolaylık sağlıyor. range("a1:c30") = Ar dediğimizde kolayca ekrana yazıyor ama statik diziyi bu şekilde yazdıramıyoruz.
Büyük boyutlu dizilerle işlem yapmak zor oluyor. Örnek olarak milyon adet elemanı olan bir dizide sayısal sıralama yapmak epey vakit alıyordu. İnternette Quicksort diye bir sıralama algoritması buldum. Fakat quicksort dinamik dizilere göre kodlanmış. Ben diziyi statik olarak tanımlıyorum, Çünkü verileri algoritma içinde index numaralarına bağlı olarak oluşturuyorum. Bu algoritmaya uydurmak için biraz uğraşmam gerekiyor.
Sorum şu bu yazdıklarımda herhangi bir bilgi eksiği var mı? Statik bir diziyi ekrana kolayca yazdırabilmek için dinamik bir diziye aktarabilir miyim?
Yardımcı olacaklara şimdiden teşekkürler
Excel VBA i kendi kendime öğrenmiş biri olarak bazı bilgi eksiklerimi tamamlamaya çalışıyorum
Dizileri statik veya dinamik (variant) tanımlamanın ne gibi avantajı/dezavantajı var? Benim farkettiğim farklar şunlar. Dizi dinamik tanımlanırsa elemanların index numaralarıyla işlem yapamıyorum. Mesela Dim Ar() as Variant diye tanımladıktan sonra Ar(1)=10 diyemiyoruz. Ama excel sayfası üzerindeki bir aralığı göstererek Ar = range("a1:c30") verileri diziye kolayca kaydediyor.
Sayfaya geri yazdırmada da dinamik diziler kolaylık sağlıyor. range("a1:c30") = Ar dediğimizde kolayca ekrana yazıyor ama statik diziyi bu şekilde yazdıramıyoruz.
Büyük boyutlu dizilerle işlem yapmak zor oluyor. Örnek olarak milyon adet elemanı olan bir dizide sayısal sıralama yapmak epey vakit alıyordu. İnternette Quicksort diye bir sıralama algoritması buldum. Fakat quicksort dinamik dizilere göre kodlanmış. Ben diziyi statik olarak tanımlıyorum, Çünkü verileri algoritma içinde index numaralarına bağlı olarak oluşturuyorum. Bu algoritmaya uydurmak için biraz uğraşmam gerekiyor.
Sorum şu bu yazdıklarımda herhangi bir bilgi eksiği var mı? Statik bir diziyi ekrana kolayca yazdırabilmek için dinamik bir diziye aktarabilir miyim?
Yardımcı olacaklara şimdiden teşekkürler