• DİKKAT

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

UserForm üzerinde labellarda listeleme ve buna göre veri girişi

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
885
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Form üzerinden devam takip işlemleri yapmak istiyorum. Açıklama ekli dosyadaki veri adlı sayfadadır
 

Ekli dosyalar

Bence;

-- bir'den fazla sınıf olacağından bir de sınıf sütunu oluşturulup,
-- isim listesini devam sayfasına aynı şekilde almak,
-- En fazla 365 gün olduğuna ve Ms.Excel'in 2010 versiyonunu kullandığınıza göre sütun sayısı yeterli olacağından tarihleri, isimlerden sonra sütun başlığı yapıp,
-- Seçilen tarihe göre ilgili veriyi öğrencinin satırına, seçilen tarihin sütununa yazmak/geri çağırmak

en iyisi olur.

Gördüğüm kadarıyla nesneler de düzenli adlandırılmış, dolayısıyla nesne numarası üzerinden;
-- kişi satırının,
-- devamsızlık türünün
matematiksel olarak bulunması da zor olmaz diye düşünüyorum.

Müsait olursam birşeyler yapıp ulaştırırım.
.
 
Bence;

-- bir'den fazla sınıf olacağından bir de sınıf sütunu oluşturulup,
-- isim listesini devam sayfasına aynı şekilde almak,
-- En fazla 365 gün olduğuna ve Ms.Excel'in 2010 versiyonunu kullandığınıza göre sütun sayısı yeterli olacağından tarihleri, isimlerden sonra sütun başlığı yapıp,
-- Seçilen tarihe göre ilgili veriyi öğrencinin satırına, seçilen tarihin sütununa yazmak/geri çağırmak

en iyisi olur.

Gördüğüm kadarıyla nesneler de düzenli adlandırılmış, dolayısıyla nesne numarası üzerinden;
-- kişi satırının,
-- devamsızlık türünün
matematiksel olarak bulunması da zor olmaz diye düşünüyorum.

Müsait olursam birşeyler yapıp ulaştırırım.
.

Teşekkürler Ömer Bey. Çok şey istemiş olmazsam, kodların açıklamasını da yazarsanız... bundan sonraki çalışmalarda yol gösterici olur.Tekrar teşekkürler.
 
Ömer Bey sanırım yoğunsunuz. İlk isteğe ilave olarak bir talebim daha var eğer uygun olduğunuzda bakarsanız çok sevinirim. Aslındaotion butonları ve labelları döngüye alınmasını çözebilsem sanırım ilerleme kayıt edeceğim ama beceremedim.Dosya ektedir.Saygılar...
 

Ekli dosyalar

Merhaba.

Son eklediğiniz belgeye bakmadım.
Önceki belge üzerinden birşeyler yapmıştım.

Ekteki belge ve form'u deneyiniz.
.
 

Ekli dosyalar

Merhaba.

Son eklediğiniz belgeye bakmadım.
Önceki belge üzerinden birşeyler yapmıştım.

Ekteki belge ve form'u deneyiniz.
.

Öncelikle ilginize tekrar teşekkürler.
1-Bu uygulamayı sınıf bazlı olarak kullanacağımdan başka sınıf eklemeye gerek yok.Bu nedenle,öğrenci listesini devam sayfasından değil de veri sayfasından almamız gerekiyor, aksi durumda devam sayfası ilk kullanımda boş geleceğinden hata veriyor.
2-Toplu giriş için labelllara liste çağırmak gerekli iken tek tekte devamsızlık girişi yapabilmeliyim.Bu durumda tek devam girişi yapamıyorum.
Tekrar emekleriniz için teşekkürler.
 
Devamsızlık (rapor-izin-mazeret vs) ile ilgili toplu veri girişi isteğinizi zaten anlayamadım.
Her sınıf için ayrı form kullanmak da anlamlı gelmedi ve o yüzden sınıf seçimini düşündüm.

Bu nedenlerle, isimleri label'lara alarak listelemek de anlamlı değil sanırım.

Aklımdan geçen şudur:
-- Combobox'tan tarih seçmek,
-- Combobox'tan sınıf /ders seçmek,
-- Combobox'tan seçilen sınıfın/dersin öğrenci listesine göre isim seçmek,
-- Devamsızlık türünü seçmek,
-- KAYDET düğmesi ile de seçilen sınıfın/dersin sayfasına/satırına seçilen öğrencinin devamsızlık bilgisini kaydetmek.

Olayın tasarımına siz karar vereceksiniz elbette.
Benim yaptığım biraz melez bir şey oldu aslında.
Label isim kaynağının veri sayfası olarak değiştirilmesi mesele değil elbette.

Label'ların isimlerini döngü ile elde etme yöntemini kodlarda görmüşsünüzdür zaten.
For numara = 1 To ....
Controls("Nesne adı" & numara)=....
Next
şeklinde.
.
 
Sayın Ömer BARAN hiçbir zorunluluğunuz olmamasına rağmen tamamen gönüllülük esasıyla yaptığınız bu açıklama zahmeti bile takdire şayan.Ömer Bey ben sınıf öğretmeniyim, yapmaya çalıştığım bir uygulama var . Bu uygulama ile Sınıf öğretmeni sınıfının dört yıl boyunca tüm verilerini istediği an görebilecek ve zaman içerisinde öğrencideki gelişimi değişimi programın sunduğu olanaklar ile değerlendirebilecek. Program ihtiyaca göre sürekli ilaveler ile gelişiyor.Zaten zaman zaman açtığım başlıklardan tahmin edersiniz.
Devamsızlık form tasarımındaki toplu girişin mantığına gelince; kızan arkadaşlarım olabilir ama biraz tembeliz biz öğretmenler olarak. Her zaman ya bunun daha kolay bir yolu yok muydu? deriz. Toplu giriş isteği biraz o yüzdendi. Yoksa tabii ki devamsızlık bireysel girilmesi gereken bir veri.
Devamsılık girişine ait formda bazı tasarımsal değişiklikler yaptım;
1-Sizin dediğiniz gibi tekli devamsızlık girişi için 1.frame içinde öğrenci ve tarih seçiminden sonra option buttonlarf ile tek devam girşi yapılacak,
2- İkinci frame içinde öğrenci listesi getir düğmesi ile veri sayfasından sınıf listesi labellara alındıktan sonra sizin düzenlediğiniz kodlar ile
ikinci düğme ile toplu kayıt yapılabilir.
3-Üçünü framede ise benim düşünemedğim ancak sizin çok doğru bir şekilde düşüdüğünüz devamsılzık durum görüntüleme var.

Sayın BARAN Sınıf Öğretmenliği sınıf esaslı oldığu için devam sınıf bazlı yapılmaktadır. Yani şube bilgisi (A,B vb.) eklemeye gerek yok. Çünkü öğretmen tek sınıftan ve o sınıfın İngilizce dışındaki tüm derslerinden sorumlu.
İkinci Userformada bakarsanız sevinirim.
Umarım çok şey istememişimdir diycem ama sanırım istedim... Neyse tekrar çok teşekkürler.
Dosyanın son hali ektedir.
 

Ekli dosyalar

Son düzenleme:
Pazar pazar, konu güncel...:)
 
Kod:
Private Sub CommandButton1_Click()
Sheets("DİÖGF").Select
say = WorksheetFunction.CountA(Worksheets("DİÖGF").Range("A:A"))  'Sayfa1 A sütunundaki dolu hücre sayısı.
textsira.Value = say
If TextBox1 = "" Then MsgBox "Tarihi boş geçemezsiniz!", vbCritical: Exit Sub
If ComboBox1 = "" Then MsgBox "Bir Öğrenci seçin!", vbCritical: Exit Sub

Range("A" & say + 1).Value = textsira.Value 'Hücrelere TextBox'lardaki değerleri yazıyoruz.
Range("B" & say + 1).Value = ComboBox1.Value
Range("C" & say + 1).Value = TextBox1.Value



For i = 8 To WorksheetFunction.CountA(Worksheets("DİÖGF").Range("A:A"))
    Range("A2") = 1 'Sıra No güncelleniyor...
    Range("A" & i).Value = Range("A" & i - 1).Value + 1
Next
say = WorksheetFunction.CountA(Worksheets("DİÖGF").Range("A:A"))  'Sayfa1 A sütunundaki dolu hücre sayısı.
For i = 1 To 15 Step 3
If Controls("OptionButton" & i) = True Then
d1 = 3
End If
If Controls("OptionButton" & i) = True Then
d1 = 2
End If

If Controls("OptionButton" & i) = True Then
d1 = 1
End If
say = say + 1
Next
End Sub
Ekli çalışmadaki ikinci userformun kaydet düğmesine yukarıda yazdığım kod ile combobox ve textboxu sayfaya aktarırken optionbutonları beceremedim .)). Kodu nasıl değiştirmeliyim.
 
Geri
Üst