- Katılım
- 6 Mayıs 2011
- Mesajlar
- 22
- Excel Vers. ve Dili
- 2003 - 2016 Office 365 Pro Plus
- Altın Üyelik Bitiş Tarihi
- 27-09-2023
Merhaba arkadaşlar, öğrenci kayıtlarını girdiğim makro ile çalışan basit bir kayıt formum var. Kaydet butonuna bastığımda formdaki veriler başka bir sayfaya kaydediliyor. Çok sayıda satır olduğu için karmaşa oluştu. Bu yüzden öğrenci isimlerine göre ayrı çalışma kitapları oluşturmak istiyorum. Oluşan kitapların içine de öğrenci hangi dersleri alıyorsa ders ismini taşıyan sayfalar oluşsun istiyorum. Bu konuda uygun makroyu bulamadım. Yardımcı olursanız sevinirim. Teşekkürler şimdiden
Şöyle ki; kaydet butonuna bastığımda, formun D5 hücresinde öğrencinin adı-doyadı bilgileri "Eslem Öney" yazıyor. Kaydet butonuna basıldığında başka bir ÖĞRENCİLER isimli klasörde Eslem Öney adından yeni bir çalışma kitabı oluşsun. Kayıt Yeri: GSA/ÖĞRENCİLER/ESLEM ÖNEY
(aynı ismi taşıyan çalışma kitabı varsa üzerine yazmasın, uyarı versin).
Bundan sonrası farklı bir kaç koşul içeriyor. Formda öğrencinin hangi dersleri aldığını gösteren hücrelerde veri varsa; Eslem Öney kitabında aldığı derslerin isimleriyle yeni sayfalar oluşsun. Veri yoksa sayfa oluşmasın.
Formun; "D17", "D25", "D33", "D41" hücrelerinde öğrencinin aldığı dersler yazıyor.
Örneğin: D5 - Eslem Öney
D17 - PİYANO
D25 - SOLFEJ
D33 - RESİM
D41 - BALE
Sonuç: Eslem Öney Çalışma Kitabı'nın içinde "PİYANO, SOLFEJ, RESİM, BALE" isimlerinde sayfalar oluştu.
Kaydet Butonunun kodunu paylaşıyorum.
Sub Kaydet()
Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim i As Integer
If sh_DB.Range("A2") = "" Then
i = 2
Else
i = sh_DB.Range("A1").End(xlDown).Row + 1
End If
For k = 1 To 41
sh_Entry_Form.Range("D4").Offset(k, 0).Copy
sh_DB.Cells(i, k).PasteSpecial xlPasteValues
Next k
Application.ScreenUpdating = True
Application.CutCopyMode = True
End Sub
Şöyle ki; kaydet butonuna bastığımda, formun D5 hücresinde öğrencinin adı-doyadı bilgileri "Eslem Öney" yazıyor. Kaydet butonuna basıldığında başka bir ÖĞRENCİLER isimli klasörde Eslem Öney adından yeni bir çalışma kitabı oluşsun. Kayıt Yeri: GSA/ÖĞRENCİLER/ESLEM ÖNEY
(aynı ismi taşıyan çalışma kitabı varsa üzerine yazmasın, uyarı versin).
Bundan sonrası farklı bir kaç koşul içeriyor. Formda öğrencinin hangi dersleri aldığını gösteren hücrelerde veri varsa; Eslem Öney kitabında aldığı derslerin isimleriyle yeni sayfalar oluşsun. Veri yoksa sayfa oluşmasın.
Formun; "D17", "D25", "D33", "D41" hücrelerinde öğrencinin aldığı dersler yazıyor.
Örneğin: D5 - Eslem Öney
D17 - PİYANO
D25 - SOLFEJ
D33 - RESİM
D41 - BALE
Sonuç: Eslem Öney Çalışma Kitabı'nın içinde "PİYANO, SOLFEJ, RESİM, BALE" isimlerinde sayfalar oluştu.
Kaydet Butonunun kodunu paylaşıyorum.
Sub Kaydet()
Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim i As Integer
If sh_DB.Range("A2") = "" Then
i = 2
Else
i = sh_DB.Range("A1").End(xlDown).Row + 1
End If
For k = 1 To 41
sh_Entry_Form.Range("D4").Offset(k, 0).Copy
sh_DB.Cells(i, k).PasteSpecial xlPasteValues
Next k
Application.ScreenUpdating = True
Application.CutCopyMode = True
End Sub