Bu dosya, çok satırlı bir barkod listesinde her barkodun kaç kez tekrar ettiğini hızlıca hesaplayan bir makro örneğidir. Sayma işlemi hücre formülleriyle değil, PivotTable ve Scripting.Dictionary yöntemlerinin birlikte kullanıldığı VBA koduyla yapılır. Bu sayede 300.000 satıra kadar uzanan veride işlem kısa sürede tamamlanır.
BARKOD_SAY makrosu sırasıyla şunları yapar:
Dosyanın içeriği
- Sayfa1: A1:AD300001 aralığında veri alanı bulunur. A sütununda Barkod başlığı ve altında altı haneli barkod numaraları yer alır. B sütunu sonuç için ayrılmıştır; makro çalışınca Adet başlığı ve her barkodun toplam sayısı buraya yazılır.
- Module1: BARKOD_SAY adlı makroyu içeren VBA modülüdür.
Makrolar
Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme veya dışarıya bağlantı gibi zararlı bir işlem yoktur; yalnızca makronun geçici olarak oluşturduğu pivot sayfası silinir.BARKOD_SAY makrosu sırasıyla şunları yapar:
- Ekran güncellemesini, otomatik hesaplamayı ve olayları kapatır, süre ölçümünü başlatır.
- Sayfa1'deki B sütununun içeriğini temizler.
- Barkod alanını satır alanı ve sayım (xlCount) olarak kullanan bir PivotTable oluşturur, sonucu değer olarak yapıştırır.
- Pivot sonucunu Dictionary nesnesine aktarır, Sayfa1'deki her barkod için karşılık gelen adedi bulup B sütununa yazar.
- Geçici pivot sayfasını siler, ayarları eski haline getirir ve işlem süresini gösteren bir mesaj kutusu açar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Kendi barkod verinizi Sayfa1'in A sütununa, ilk satırda Barkod başlığı kalacak şekilde yapıştırın.
- Alt+F8 tuşlarıyla makro listesini açın, BARKOD_SAY makrosunu seçip çalıştırın.
- İşlem bitince B sütununda her barkodun adedini ve mesaj kutusunda geçen süreyi görürsünüz.