Eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
FHRİST Sayfası H sütunun girlen tarih değeri ile o satırı silip ARCHİVE sayfasına aktaran ve 8 li gruplar oluşturan mevcut kodu 8 li grubu 5 li grup yapan ve akatrımı 3 üncü satırdan itibaren başlatıp EK'te ekran resimlerini paylaştığım hataylrın giderilmesi hususunda desteklerinizi rica ediyorum.
Çalışma kitabındaki VBA kodu incelenerek aktarım ve gruplama işlemlerinde aşağıdaki düzenlemeler yapılmıştır.
Type Mismatch Hatasının Nedeni
Hatanın oluştuğu eski kod satırı şöyledir:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
ARCHİVE sayfasında henüz kayıt bulunmadığında hedef satır 2 olarak hesaplanmaktaydı. Bu durumda kod, B1 hücresindeki “SİCİL NO” başlık metnine 1 eklemeye çalıştığı için çalışma zamanı hatası 13, yani “Type mismatch” hatası oluşmaktaydı.
Hedef satırın hiçbir zaman 3’ten küçük olmaması sağlanmış ve sıra numarası bir önceki hücreye bağlı olmadan hesaplanmıştır:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
Aktarım Başlangıç Satırı
ARCHİVE sayfasındaki kayıtların 3. satırdan başlaması sağlanmıştır. İkinci satır boş bırakılmakta ve yeni kayıtlar A3:F3 aralığından itibaren oluşturulmaktadır.
Önceki hatalı çalıştırmadan dolayı ARCHİVE sayfasının 2. satırında yarım kalan tarih, kişi ve klasör bilgileri temizlenmiştir. H sütununda tarihi bulunan yarım kalmış kayıt ARCHİVE sayfasının 3. satırına doğru şekilde aktarılmış ve FHRİST sayfasındaki kaynak satır silinmiştir.
H Sütunuyla Otomatik Aktarım
Aktarım işlemi daha önce Worksheet_SelectionChange olayıyla çalışmaktaydı. Bu nedenle yalnızca başka bir hücre seçildiğinde işlem başlıyor ve aynı satırın tekrar işleme alınması gibi sorunlar oluşabiliyordu.
Kod Worksheet_Change olayına taşınmıştır. Artık FHRİST sayfasının H sütununda, 3. satırdan itibaren geçerli bir tarih girildiğinde aktarım işlemi başlatılmaktadır:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
Tarih girildiğinde kullanıcıdan onay alınmaktadır. Onay verilmesi hâlinde:
1. Tarih ARCHİVE sayfasının A sütununa aktarılır.
2. ARCHİVE sıra numarası B sütununa yazılır.
3. Adı soyadı bilgisi C sütununa aktarılır.
4. T.C. kimlik numarası D sütununa aktarılır.
5. Beşli klasör bilgisi F sütununa yazılır.
6. Aktarılan kaynak satır FHRİST sayfasından silinir.
Geçersiz bir tarih girilirse kullanıcı bilgilendirilmekte ve hatalı değer temizlenmektedir.
Sekizli Grupların Beşli Gruplara Dönüştürülmesi
Eski koddaki sekizli grup büyüklüğü beş olarak değiştirilmiştir:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
Yeni klasör aralıkları aşağıdaki şekilde oluşturulmaktadır:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
Buna göre klasörler şu düzende ilerlemektedir:
1 Nolu Klasör ( 1 - 5 ) Arası
2 Nolu Klasör ( 6 - 10 ) Arası
3 Nolu Klasör ( 11 - 15 ) Arası
4 Nolu Klasör ( 16 - 20 ) Arası
FHRİST ve ARCHİVE sayfalarındaki mevcut klasör açıklamaları da beşli düzene göre güncellenmiştir.
Ek Güvenlik Düzenlemeleri
Kodda ayrıca aşağıdaki iyileştirmeler yapılmıştır:
Tüm değişkenler Option Explicit ile tanımlanmıştır.
Hata değerleri, boş hücreler ve sayısal olmayan sicil değerleri kontrol edilmektedir.
İşlem sırasında olayların tekrar tetiklenmesi Application.EnableEvents ile engellenmiştir.
Hata oluşması durumunda olaylar yeniden etkinleştirilmektedir.
Aktarım tamamlanamazsa kaynak satır silinmemektedir.
Yarım kayıt oluşmasını önlemek için hedef satır temizleme mekanizması eklenmiştir.
Bir önceki ARCHİVE sıra numarasına bağımlılık kaldırılmıştır.
Kaynak dosya korunmuş, düzenlemeler ayrı bir XLSM kopyası üzerinde yapılmıştır.
Bu site, içeriği kişiselleştirmek, deneyiminize uyarlamak ve kayıt olmanız durumunda giriş yapmanızı sağlamak için yasal düzenlemelere uygun çerezler (cookies) kullanır.
Bu siteyi kullanmaya devam ederek, çerez kullanımına izin veriyorsunuz.