• DİKKAT

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

Öğrenci listesine sınıf atama

  • Konbuyu başlatan Konbuyu başlatan xternet
  • Başlangıç tarihi Başlangıç tarihi

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
462
Excel Vers. ve Dili
2010 Tr
Merhaba arkadaşlar.

For Next döngüsüyle çözerim dedim ama işin içinden çıkamadım.
Örnek dosyada açıklamaya çalıştım. Vakti olup bakabilecek arkadaşlara şimdiden teşekkür ediyorum.

İyi çalışmalar.
 

Ekli dosyalar

Aşağıdaki makroyu deneyiniz. Makro M sütununu geçici olarak yardımcı sütun olarak kullanmaktadır:

Kod:
Sub sınıf()
sonöğrenci = Cells(Rows.Count, "A").End(3).Row
sonşube = Cells(Rows.Count, "L").End(3).Row
For öğrenci = 1 To sonöğrenci
    For şube = 5 To sonşube
        If Cells(şube, "M") = "" Then
            Cells(öğrenci, "B") = Cells(şube, "L")
            If Cells(öğrenci + 1, "A") = 1 Then Cells(şube, "M") = "şube doldu"
            şube = sonşube
        End If
    Next
Next
Range("M5:M" & sonşube) = ""
End Sub
 
merhabalar altın üye olmadığım için dosyanızı indiremiyorum. Dosyanızı http://s7.dosya.tc/ adresine ekleseniz size yardımcı olmaya çalışacağım.
 
Arkadaşlar ilginizden dolayı çok teşekkür ediyorum.
Sizden gelecek yanıtları beklerken kurcalamaya devam ettim ve tamamen sıfırdan ilk doğru kodumu yazmış oldum.

Aşağıdaki kodu yazdım ve oldu.

Sub liste_hazirla()

Dim x As Integer

For i = 1 To 160

Range("M5") = x

If Range("A" & i) = "" Then GoTo Son

If Range("A" & i + 1) > Range("A" & i) Then

Range("B" & i) = Range("N5")
Else:

Range("B" & i) = Range("N5")

x = x + 1

End If

Next i

Son:
Range("M1").Select

End Sub
 
Tabi işin içinde Düşeyara fonksiyonu da var.

Örnek dosya aşağıda.
 
Bu kodun çalıştığına emin misiniz? Ben örnek dosyanızda denediğimde B sütunu boş kaldı, sadece M5 hücresinde değişiklik oldu.
 
Önce B sütununu boşalttınız mı?
Eklediğim dosyada B sütunu doluydu sanırım.

Gerçi B sütunu boş kaldı demişsiniz. Ama bende ki dosya da sorunsuz.
Hatta kodu asıl çalışmaya uyguladım.
462 kişilik listeye 15 sınıfı doğru şekilde atadı.
 
N5 hücresindeki formül ilk dosyanızda yoktu. Ondan bende çalışmadı.

İşiniz görüldüyse sıkıntı yok.

Farklı bir bakış için benim verdiğim kodu da inceleyin isterseniz.
 
Tabiki Yusuf bey.
Tekrar teşekkür ediyorum.
Zihninize sağlık.
İyi çalışmalar.
 
Geri
Üst