• DİKKAT

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

seçmeli ders

Katılım
9 Aralık 2009
Mesajlar
532
Excel Vers. ve Dili
2007,5
Efendim, örencilerin seçtikleri dersleri listeliyen bir program yapmaya çalıştık...


1 - pencereden öğrenciyi seçip seçtiği derside yanındaki pencereden seçince kaydet kk1 sayfasına atmasını istiyoruz ama olmuyor

2 - öğrenci ve ders seçilince kaydet düğmesi ile o kk1 e öğrenci ismi seçtiği ders bilgileri liste halinde görelim ( kaydet düğmesine gerek yok isim ve ders seçilince kk1 sayfasına gider derseniz siz bilirsiniz)
3- mümkünse seçtikleri desleri o desin sayfasında listelesin. (kk1 sayfası yerine saçilen rersin ismini taşıyan sayfaya liste halinde alsın)

Yardım edermisinz
 

Ekli dosyalar

Son düzenleme:
mutluedenercan hocam seçmeli dersler haftada 6 saate düştü. proğramınızda bu ayrıntıyı da dikkate alırsanız iyi olur diye düşünüyorum.
 

Ekli dosyalar

Merhaba;
Sorunuz net değil.
ÖğrenciList sayfasında A : R aralığında ;
öğr.isimleri var.
3. satırda dersler var.
ve isimlerin karşısında "x" belirlenmiş ders seçimleri var.
Bundan sonrası için ne istiyorsunuz?
a) grup seçimi yaparak "x" işaretlerini mi koymak istiyorsunuz?
b) KUR'AN-I KERİM seçen birisi için bunun alt açılımını mı yapmak istiyorsunuz? (Kur'an-ı Kerim-1,Kur'an-ı Kerim-2 vs.. gibi)
c) S : BA aralığındaki tablonun işlevi ne?
d) 1-2 ders grubu vs.. tanımlamasına göre dağılımı nasıl yapacaksınız? (tabloda KUR'AN-I KERİM bir sütunda olmasına karşılık grupların hepsinde KUR'AN-I KERİM 1,2 vs.. şeklinde alt açılımları mevcut KUR'AN-I KERİM seçen öğrencinin 1 yada 2 olduğu bilgisini tabloya nerde vereceksiniz?)
Kısaca A : R aralığı dışındakileri yok sayarak A : R aralığındaki verilere göre tablonuzu yeniden tanımlayın ve isteklerinizi belirtin.
İyi çalışmalar.
 
a) grup seçimi yaparak "x" işaretlerini mi koymak istiyorsunuz?

Hayır . ismin karşısındaki "x" işaretine göre dersler seçilmiş olur ve o öğrenci o dersin sayfasında listeye girer. ( liste kutusuna gerek kalmadan yapılabilir)
Yani ,öğrenci listesi, sayfası tüm öğrencileri gösterirken, seçilen "x" işaretlerine göre o öğrenciler seçilen derslerin sayfalrına kopyalanır. ( bir öğrenci hem öğrenci listesi sayfasında hemde seçtiği ders sayfasında olacak.

b) KUR'AN-I KERİM seçen birisi için bunun alt açılımını mı yapmak istiyorsunuz? Hayır. KUR'AN-I KERİM düğmesine basınca bu dersi seçen öğrenciler listelencek, yazdır düğmeside olacak gerekirse yazdıracaz.

c) S : BA aralığındaki tablonun işlevi ne?
Düğme gibi olacak ilgili derse basınca o desi seçen öğrencileri gösterecek. Yazdır Düğmeside olmalı

d) 1-2 ders grubu vs.. tanımlamasına göre dağılımı nasıl yapacaksınız? (tabloda KUR'AN-I KERİM bir sütunda olmasına karşılık grupların hepsinde KUR'AN-I KERİM 1,2 vs.. şeklinde alt açılımları mevcut KUR'AN-I KERİM seçen öğrencinin 1 yada 2 olduğu bilgisini tabloya nerde vereceksiniz?)

bunları yok sayın... 4. stunda 0 0 0 lar var ya , onlarda üstünde dersler yazacak, altındaki bu sıfırlarda o dersi kaç kişi seçti sadece rakam gösterecek.

Amacımız bu siz daha uygun bir yöntem ilede bu amaca uygun yapabilirsiniz...

ilginize teşekkür
 
Son düzenleme:
Merhaba;
Ekleri deneyin.
Not: Gereksiz birçok sayfa açmak yerine "mutluedenercan-seçmeli-1" eki daha kullanışlı.

İyi çalışmalar.

Not: mutluedenercan-seçmeli.zip ekini değişik uygulama yaparken kaybettiğim için kaldırdım.
 

Ekli dosyalar

Son düzenleme:
çok teşekkür ederim.

seçmeli çalışmıyor ama seçmeli-1 çalışır durumda...

1 - seçimler sayfasında, E stununda desler var onların bir fonksiyonu varmı D stundada 1 ler var.

2 - rapor sayfasına bir yazdır butonu ekliyebilirmiyiz , ( ders seçimi yapınca yazdırmak içap edebilir)

3 -liste sayfasında ilk dört satır sabit kalıyorya onu nasıl yaptınız.
Rapor sayfasında ders seçimi yaptıran mavi hücreyi nasıl yaptınız. ( öğrenmek istiyorum)

4 - liste sayfasında, 3. satırdaki derslere tıklayınca o desleri seçen öğrencilerin listesine ulaşsak daha kullanışlı olurdu, (vaktiniz varsa eğer) ...böylece rapor sayfasına oradan ders seçime gerek kalmazdı...

Emeğinize sağlık elleriniz dert görmesin
 
Son düzenleme:
Merhaba;
Seçmeli uygulaması (aynı uygulama üzerinde farklı yöntem denemesi sırasında kaybettim) konusunda haklısınız.
Sorularınıza gelince;
1-seçimler sayfasında Makro ile mükerrerden arındırma işlemi yaptım. (1 rakamları bunu belirliyor. E sütununada bunları yazdırarak diğer sayfada kullanılmak üzere data oluşturdum)
2-Yazdır butonunu auto makro ile oluşturabilirsiniz. (veriler sayfaya kodla alındığı için var olan veriler kadar sayfa yazdırılacaktır. Yazıcımda problem olduğu için deneyemedim)
3-üstten yada soldan satır yada sütun sabitlemek için ;
örn: bir sayfada 2 satır üstte 1 sütun solda sabit kalmasını istiyorsunuz.
Bunun için B3 hücresine (2 satır üsste ve bir sütun sağda kaldığında kesişim hücresi B3) imleci konumlandırın. Sonra üstteki pencere menüsünde "Bölmeleri Dondur"'a basın.
Açılır liste için seçimler sayfasında makro ile mükerrerden arındırma ve liste oluşturma işlemi yapıldı.
Yine seçimler sayfasında E2 hücresi "dersler" adı ile adlandırıldı. Ayrıca E2 hücresinde formülle var olan veri kadar dinamik alan belirlendi.
rapor sayfasında C1 hücresinde iken veri>doğrulama sekmelerinde açılan pencerede formülü inceleyin. (dolaylı formülü ile farklı sayfadaki dinamik alan burada kullanıldı)
Ve en önemlisi;
C1 hücresinde işlem yapıldığında makro tetiklenerek uygun verilerin tabloya alınması sağlandı. Ayrıca koşullu biçimlendirme ile A sütununda veri varsa A,B,C sütunlarında ilgili hücrede kenarlık oluşturuldu.
4-Aslında bu yöntem daha kullanışlı;
Değişik zamanlarda liste sayfasına ekleyeceğiniz listeleri ve değişik ders isimlerini seçimler sayfasına gönderebilirsiniz.
Raporu rapor sayfasından alacağınız için liste sayfasına geri dönüp hücre seçme yada hücreye tıklama sorununuz olmaz.

İyi çalışmalar.
 
Son düzenleme:
proğramı çok güzel tasarlamışsınız çok beğendim bana göre bu proğramda bir kaç eksik var gibi onlarda olursa çok mükemmel bir proğram olur "aktarırken öğrenci sınıf ve numaralarıda" aktarsa ve bir de öğrenci arama butonu olsa çok güzel olur.
 
Bilgi içinde ayrıca teşekkür...

zerali hocama katılıyorum.. Liste uzayınca bağzı zorlukları aşmak adına:

1 - aktarırken öğrenci sınfları ve nosu gelmiyor, nasıl bir eklenti ile sınıf ve nosunu aktarır hale getiririz

2 - sınıf ve öğrenci aramasıda olursa süper olacak ( sedece 5C sınıfını seçince 5C sınfından ders seçenleri listeler. Öğrenci ismine göre arama icap ederse, o ismi girince hangi dersleri seçtiği çıkarır.

3 - en önemlisi seçimler sayfasını program için kullandınız bizim işimize yaramaz ama program için gerekli, burada yanlışlıkla yapılan değişiklik programı aksatır deyilmi, bu saygayı gizli yapabilirmiyiz.

SAĞOL VAROL....
 
Son düzenleme:
Bilgi içinde ayrıca teşekkür...

zerali hocama katılıyorum.. Liste uzayınca bağzı zorlukları aşmak adına:

1 - aktarırken öğrenci sınfları ve nosu gelmiyor, nasıl bir eklenti ile sınıf ve nosunu aktarır hale getiririz

2 - sınıf ve öğrenci aramasıda olursa süper olacak ( sedece 5C sınıfını seçince 5C sınfından ders seçenleri listeler. Öğrenci ismine göre arama icap ederse, o ismi girince hangi dersleri seçtiği çıkarır.

3 - en önemlisi seçimler sayfasını program için kullandınız bizim işimize yaramaz ama program için gerekli, burada yanlışlıkla yapılan değişiklik programı aksatır deyilmi, bu saygayı gizli yapabilirmiyiz.

SAĞOL VAROL....

mutluedenercan hocam bu sene bu seçmeli dersleri uygularken yaşadığımız sıkıntılardan dolayı fikir amaçlı söyledim.beğendiğinize sevindim.zaten bu forumu bu sebeplerden dolayı seviyorum yapılan proğramlar herkesin işine yarıyor ve kullanabiliyor.excelle ilgili her konuda yardımcı olabilen uzman ustalar çok.saolsunlar varolsunlar
 
Son düzenleme:
Merhaba;
Syn. zerali ve mutluedenercan;
Ekteki uygulama sanırım isteklerinizi karşılar.
İnceleyin.
İyi çalışmalar.
 

Ekli dosyalar

muygun hocam emeğinize sağlık çok teşekkürler.seneye inşallah seçmeli dersleri bu proğramla yapacağım.çok teşekkürler
 
Muygun Hocam çok sağolun...

Kodları inceledim az biraz anlamaya çalıştım...seçtiğimiz derslerdeki "X" leri görüp o ismi ve çakışan dersi aktaran kod:

s2.Cells(sonsatir, 5) = S1.Cells(3, sü) ---- bu mu veya hangisi merek ettim...öğrenek deyilmi hocam hep hazır alacak deyiliya..
( yani bu kod: Seçimler sayfasını seçip, sonsatırın 5. sununa, Liste sayfasına 3.satır ve 5-26 stunlarrda hangisinde x varsa yaz şeklindimi yorumluycaz.
Yani hocam aktar düğmesine basınca ( o düğme hangi kod atanmış belii olmuyor )
öğrenci seçimlerini aktar kodu çılışıyorda ,,,, seçtiği dersi bulan, X olmuyanları yok sayan kodu merek ettim)


Teşekkürler
 
Son düzenleme:
Merhaba;
Doğru tespit
If S1.Cells(sa, sü) <> "" Then
ile hücrede "x" değeri varsa;
s2.Cells(sonsatir, 5) = S1.Cells(3, sü)
İle sonsatır,5. sütuna seçilen dersin adı yazdırılıyor. (yani şart sağlanıyorsa end if kısmına kadar olan kısım icra ediliyor. Sağlanmıyorsa End if 'ten sonrası devam ediyor)

Düğmeye atanan kod'a gelince;
Aslında bu mantık ile gereken makrolar lokal olarak çalıştırılıyor (alt yordam olarak) Böylece kullanıcı iç içe girmemiş makro kodlarından istediğini başka uygulamalarda da kullanabilir.
düğmenin üzerine gelip makro ata derseniz makroları ve düğmedeki mevcut makroyu gösterir.
İyi çalışmalar.
 
Son düzenleme:
s2.Cells(sonsatir, 5) = S1.Cells(3, sü) --- Buradaki 3 , 3.satır. sü ise "x" olan stun deyilmi...

anlıyamadığım. 3.satır sabit girilmiş...nasıl oluyorda sadece 3.satırı bulmuyor hepsini buluyor ???

2 - sü 5-26 arası stunlar demek ama hangi stununda "x" var onu bulan kod bumu ?
sadece --- If S1.Cells(sa, sü) <> "" Then dolu ise devam et var...

Yani tam olarak "X" işaretli yeri bulduran kodu anlıyamadım....

Biraz bilgi verirmisinz

TEŞEKKÜR
 
Merhaba;

Sub öğrenci_seçimleri_aktarr()
Application.ScreenUpdating = False
On Error Resume Next
Set S1 = ThisWorkbook.Worksheets("liste")
Set s2 = ThisWorkbook.Worksheets("seçimler")
s2.Cells(2, 1) = "SIRA NO"
s2.Cells(2, 2) = "ÖĞRENCİ NO"
s2.Cells(2, 3) = "ADI SOYADI"
s2.Cells(2, 4) = "SINIF-ŞUBE"
s2.Cells(2, 5) = "SEÇTİĞİ DERS"
For sa = 5 To S1.Range("C65536").End(xlUp).Row
For sü = 5 To 26
sonsatir = s2.Range("A65536").End(xlUp).Row + 1
If S1.Cells(sa, sü) <> "" Then
s2.Cells(sonsatir, 1) = sonsatir - 2
s2.Cells(sonsatir, 2) = S1.Cells(sa, 2)
s2.Cells(sonsatir, 3) = S1.Cells(sa, 3)
s2.Cells(sonsatir, 4) = S1.Cells(sa, 4)
s2.Cells(sonsatir, 5) = S1.Cells(3, sü)
End If
Next sü
Next sa
Application.ScreenUpdating = True
End Sub

Sanırım açılımını istediğiniz kod bu;

For sa = 5 To S1.Range("C65536").End(xlUp).Row
ile sa değişkenini (yani satırı) (liste sayfasında veriler 5. satırdan başladığı için) 5 den başlatıp var olan son veriye kadar döndürdük.
For sü = 5 To 26
İle sütunu 5 den başlatıp z sütununa kadar yani 26 ya kadar döndürdük.
sonsatir = s2.Range("A65536").End(xlUp).Row + 1
İle seçimler sayfasındaki son boş satır no'sunu bulduk.
ilk döngüde sa yani satır=5
sü yani sütun=5
If S1.Cells(sa, sü) <> "" Then
İle (eğer liste sayfası 5.satır , 5.sütun değeri boş değilse)
seçimler sayfası son boş satırın 1. sütununa sıra no,
seçimler sayfası son boş satırın 2. sütununa öğrenci no,
seçimler sayfası son boş satırın 3. sütununa adı soyadı,
seçimler sayfası son boş satırın 4. sütununa sınıf şube,
seçimler sayfası son boş satırın 5. sütununa ders adını yazdırdık.
ve end if ile işlem bitti
sonra son açılan döngüden başlayarak döngüleri kapattık.
iç içe döngülerde en içteki döngü bitene kadar dış döngünün değeri aynıdır.
Kısaca Adres matrisi (satır,sütun) olduğuna göre
If S1.Cells(sa, sü) <> "" Then
İle satır,sütun boş mu? mukayesesi yaptık
işte x leri burada mukayese etti
bulduğunda işlemi yaptı
bulamadığında (satır döngüsü dışta olduğu için) satır sabit,sütun değerini 1 artırarak tekrar mukayeseye başladı.
Bu işlem en yakın for döngüsü 5 to 26 olduğu için 26. sütuna kadar sürdü.
Sonra dış döngüyü 1 artırdı (satır sayısı 6 oldu)
aynı işlemi 6. satır için tekrarladı.
Ta ki ilk döngü bitene kadar bu işlem sürdürüldü.
Sanırım açıklayıcı olmuştur.
İyi çalışmalar.
 
çok teşekkür....

s2.Cells(sonsatir, 5) = S1.Cells(3, sü) ---burdaki 3 sabitini anyıyamadım, yeni sa ve sü döngüleri değişiyor bu sabit...kodun açılımı şumu: üst satırdaki if koşulu uygunsa, seçimler sayfasının sonsatırının 5. stununa, liste sayfasındaki 3. satırın sü dağişkenindeki stun kaçta ise onu eşitle
.. yani hep 3. satırdakini eşikliyor.......Buna kafam başmadı,,,


ÇOK ÇOK Teşekkür
 
güzel paylaşım ellerinize sağlık
 
Geri
Üst