• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro : Kayıt Sayısı İle Çalışan

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba arkadaşlar. Ekteki dosyadaki makronun belli bir kayıt sayısına ulaşıldığında çalışması sağlanabilir mi ? Açıklama dosyada.
 
merhaba

bunu countA ile yapabilirsiniz.o sütundaki dolu olan hücrelerin sayısını buldurup eğer 20'ye eşitse çalıştır yoksa end dediğinizde olur.Bir bakın olmazsa yazarız İnşallah.
 
Merhaba bedersu. Ben counta formülünü makro içinde nasıl kullanacağımı bilmiyorum. Yardımcı olursanız memnun olurum.
 
Merhaba arkadaşlar. Ekteki dosyadaki makronun belli bir kayıt sayısına ulaşıldığında çalışması sağlanabilir mi ? Açıklama dosyada.
 
mrb

merhaba kardeş,

Makronu şu şekilde değiştir:

Sub MAKRO_OLAY()

a = WorksheetFunction.CountA(Sheets("KAYIT").Range("B:B"))
If a - 1 >= 20 Then



Sheets("RAPOR_Olay").Select
Columns("A:F").Select
Selection.Copy
Application.CutCopyMode = False
Sheets("KAYIT").Select
Columns("A:G").Select
Selection.Copy
Sheets("RAPOR_Olay").Select
Columns("A:A").Select
ActiveSheet.Paste
Columns("H:L").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveSheet.Next.Select
ActiveSheet.Next.Select
ActiveSheet.Next.Select

Else: End
End If

End Sub

Bu makro önce tarihlere bakacak.Tarih sayısı 20 ve fazlası ise çalışacak.Daha az ise çalışmaz.Kolay gelsin.
 
Merhaba bedersu. İlgine çok teşekkür ederim. Makronun prosesinde
a = WorksheetFunction.CountA(Sheets("KAYIT").Range("B: B")) kısımı ile ilgili bir sorun çıktı.
 
MErhaba,

(B:B) yazarken bir boşluk bırakmışım.o boşluğu silin düzelir.
 
Bedersu tekrar teşekkürler. Gerekli düzeltmeyi yaptım, çalışıyor. Bu makronun 20. kayıt girildiğinde kendiliğinden çalılmasını sağlamak mümkün mü ?
 
Bedersu tekrar teşekkürler. Gerekli düzeltmeyi yaptım, çalışıyor. Bu makronun 20. kayıt girildiğinde kendiliğinden çalılmasını sağlamak mümkün mü ?

Makro kodlarını çalışmasını istediğin sayfanın kod bölümüne;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

a = WorksheetFunction.CountA(Sheets("KAYIT").Range("B:B"))
If a - 1 >= 20 Then

Sheets("RAPOR_Olay").Select
Columns("A:F").Select
Selection.Copy
Application.CutCopyMode = False
Sheets("KAYIT").Select
Columns("A:G").Select
Selection.Copy
Sheets("RAPOR_Olay").Select
Columns("A:A").Select
ActiveSheet.Paste
Columns("H:L").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveSheet.Next.Select
ActiveSheet.Next.Select
ActiveSheet.Next.Select
Else: End
End If

End Sub


şeklinde kopyalarsan çalışma sayfasında yapılan her değişiklik makronun çalışmasını sağlayacaktır.
 
Sayın ildogan ilginize teşekkür ederim. Kodu KAYIT sayfasına uyguladım. Ekteki dosyada. Nerede hata yapıyorum yol gösterebilir misiniz ? Teşekkürler.
 
merhaba,
ildogan arkadaşın vermiş olduğu kodlarda sadece "columns" ların başına activesheet konması yeterli.Yani

ActiveSheet.Columns("A:G").Select

gibi.Fakat bu tip bir işlem biraz gereksiz olmaz mı?Çünkü KAYIT sayfasına bir daha veri girişi yapamazsınız.Veri girmek için bulunduğunuz her teşebbüste makro çalışacak ve siz veri girişi yapamayacaksınız.Değil mi?Yok ben zaten 21'den fazla veri girmeyeceğim diyorsanız sorun yok.
 
Bedersu çok teşekkürler. Şimdi tamam oldu. İstediğim buydu. Evet dediğin gibi 20.kayıttan fazla giriş olmayacak. Tabii 20 sembolik rakam. Bu isteğe göre ayarlanabilir. Sağlıcakla kalın.
 
yardımcı olabildiysek ne mutlu.
 
Geri
Üst