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

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba arkadaşlar. Ekteki dosyadaki makronun belli bir kayıt sayısına ulaşıldığında çalışması sağlanabilir mi ? Açıklama dosyada.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
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.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba bedersu. Ben counta formülünü makro içinde nasıl kullanacağımı bilmiyorum. Yardımcı olursanız memnun olurum.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba arkadaşlar. Ekteki dosyadaki makronun belli bir kayıt sayısına ulaşıldığında çalışması sağlanabilir mi ? Açıklama dosyada.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
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.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
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ı.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
MErhaba,

(B:B) yazarken bir boşluk bırakmışım.o boşluğu silin düzelir.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
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ü ?
 
Katılım
7 Şubat 2007
Mesajlar
15
Excel Vers. ve Dili
office 2003
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.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
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.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
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.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
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.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
yardımcı olabildiysek ne mutlu.
 
Üst