For x = 2 To [a65536].End(3).Row nedir?

Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Kod:
For x = 2 To [a65536].End(3).Row
Bu kod tam olarak anlamı nedir acaba?

A sütunuda 65536. satırdan A2 ye kadar yukarı doğru dolu hücrelerimi sayıyor,
yoksa A2 den başlayarak Aşağıya doğru mu dolu hücreleri sayıyor?
Doğrusu hangisi acaba?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
A sütunda son dolu hücreye kadar döndürüyor
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,454
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

A2 den A sütunun son dolu hücresine kadar olan bir döngüyü söylüyor.

[A65536].end(3).row un Excel karşılığı :

A65536 da iken End tuşuna basıp çektikten sonra Yukarı Ok'a bas demek.
Bu durumda yukarı doğru hareketle ilk dolu hücreyi bulur. Bunu siz deneyebilirsiniz.
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2003 versiyonunda 65536 satır var.
yani bu tür bir yöntemde en alttaki satırdan başlayarak üste doğru her hücreyi kontrol ediyor ve ilk dolu hücreyi buluyor.

En üstten 10 satır dolu desek 65526 hücreyi kontrol ettikten sonra bize 10 hücrenin dolu olduğunu söyleyecek.

Programın çalışmasında yavaşlama yaparmı?
Bunun yerine Yukarıdan başlayarak en son boş hücre bulma kullanılsa nasıl olur ve formülü nedir.?

Bu iki yöntem arasında nasıl bir fark olabilir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,651
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ne yapmak istediğinizi açıklarsanız doğru çözümü önerebiliriz. Son dolu hücreyi bulmanın çok çeşitli yolları vardır. Ama sizin tablo yapınıza hangisi uygun bunu bulabilmemiz için örnek bi dosya eklerseniz daha faydalı olacaktır.
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Selamlar,
Ama sizin tablo yapınıza hangisi uygun bunu bulabilmemiz için örnek bi dosya eklerseniz daha faydalı olacaktır.
Sayın uzmanım tamda benim araştırdığım konu buydu.
Hangi dosyamda hangi yöntemi kullanmak.

Bazı verilerim 100 satır kimisi 500 veya daha fazla.

En hızlı nasıl çalışır.

Not: Donanım özelliği yüksek bilgisayarlar için bu fark edilemeyebilir, ancak eski model bilgisayarlarda bu çok açık şeçik görülüyor.
Kurumum için tasarladığın programları diğer kurumlardaki mutemet arkadaşlarda kullanıyor ve az önce bahsettiğim fark ortaya çıkıyor.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar,

Normal şartlarda, Excel sheet'ine kayıtlı bir liste (dizi) nin okunması için en tasarruflu döngü başlangıcı, sizin yazdığınız kod satırıdır.

Şöyle açıklayalım.

Dizileri okuyabilmek ve üzerinde işlem yapabilmek için en basit anlamda; dizinin nerede başladığını ve nerede bittiğini bilmelisiniz.

Başlangıç yerinin bulmak çoğu zaman kolaydır. Örneğin A1, A2 gibi ...

Ama listeye hergün/her an bir veri ilave edildiğinide, nerede bittiğini bulabilmek güçtür. Çünkü heran için bir büyüme sözkonusudur.

Belirttiğiniz şu komut "For x = 2 To [a65536].End(3).Row"; 2 satırdan başlayarak en son dolu hücreye kadar işlem yapma komutudur.

Bilgisayarda işlenmesi (en azından Excel'de) hiç de güç değildir.

Dizinin başladığı yeri sabitlemişsiniz.. bu güzel. Bittiği yerini ise; Excel kendi halleder.

Şöyle ki;

cursor/imleç; Excel'in bilinen en son sınır satırına gider. bu sınır satır 2003 versiyonu için 65536'dır.

65536'dan sonra; end(3) veya end(xlup) komutu ile cursor/imleç'in zıplamasını sağlarsınız. Yani, 65536, 65535, 65534 .... gibi tek tek hücreler kontrol edilmez. Kısaca imleç zıplar. Böylelikle, sizin düşündüğünüz gibi, binlerce kere işlem yapıp son dolu hücre bulunmaz. Zıplamayla, hemencecik son dolu satır bulunur.

Onun için, sadece bu satırı kullanmakla işlem süresi uzamaz. Gönül rahatlığı ile kullanabilirsiniz.

sizi kasacak nokta, başlangıcı ve sonu bilinen dizinin büyüklüğü (hacmidir) Ama bu da, sorduğunuz sorunun dışındadır.

Umarım açıklayıcı olmuştur.​
 
Katılım
26 Nisan 2006
Mesajlar
50
Süper olmuş hocam shift ettiğini ben de anlayamadıydım kodun kendinden teşekkürler detaylı anlatımınız için
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Teşekkürler. Güzel bir açıklama olmuş.
 
Üst