Bu dosya, aynı alanın iki farklı döngü yöntemiyle taranmasını karşılaştırmalı olarak gösterir. Birinci yöntem yalnızca dolu hücreleri gezer, ikinci yöntem aralıktaki tüm hücreleri tek tek dolaşır. İki yöntem de işlem sonunda kaç hücrenin kontrol edildiğini mesaj kutusunda bildirir. Döngü mantığını öğrenmek ve kendi çalışmalarınıza uyarlamak için kullanılabilir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: İki komut düğmesinin bulunduğu ve test verisinin yer aldığı tek sayfadır. Örnek olarak C sütununda sayı ve metin değerleri bulunur; kullanılan aralık C2:R1000 arasındadır. Sayfada formül yoktur.
- Module1: Döngü ve seçim işlemlerini yapan prosedürleri içerir.
Makrolar
- CommandButton1_Click: Sayfa1 üzerindeki birinci düğmeye basıldığında HizliDongulu makrosunu çalıştırır.
- CommandButton2_Click: İkinci düğmeye basıldığında HizliDongusuz makrosunu çalıştırır.
- HizliDongu: Verilen alandaki sabit değerli ve formüllü hücreleri SpecialCells yöntemiyle bulup tek bir aralık olarak döndürür. İsteğe bağlı iki parametre ile sayı veya metin içeren hücreler dışarıda bırakılabilir. Dolu hücre yoksa işlem sonuçsuz biter.
- HizliDongulu: A1:M1000 aralığını HizliDongu işlevine göndererek yalnızca dolu hücrelerden oluşan bölgeyi belirler ve DonguYap prosedürünü çağırır.
- HizliDongusuz: A1:M1000 aralığındaki tüm hücreleri doğrudan DonguYap prosedürüne verir; bu nedenle işlem daha yavaş sürer.
- DonguYap: For Each döngüsüyle bölgedeki her hücreyi seçer, sayaç değerini artırır, işlem sonunda A1 hücresine döner ve "Kontrol Edilen ... Hücre" mesajını gösterir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1 üzerindeki birinci düğmeye basarak hızlı döngüyü çalıştırın; mesaj kutusunda yalnızca dolu hücrelerin sayısı görünür.
- İkinci düğmeye basarak tüm hücreleri gezen döngüyü çalıştırın; süreyi ve mesajdaki hücre sayısını birinci yöntemle karşılaştırın.
- Farklı bir alan taramak için Module1 içindeki Range("A1:M1000") ifadesini kendi aralığınızla değiştirin.