excell yardım düşeyara

Kodla Büyü

aybr

Seçkin Üye
Seçkin Üye
Mesajlar
595
Ekteki dosyada taşımalı öğrenciler var. Asayfada liste var. Bu anasayfadakilisteden diğer sayfalarda belirlenen hücreye plakayı yazınca o plaka karşısındaki öğrencileri listelenmesini istiyorum.
 

Ekli dosyalar

  • Kitap1.rar
    16.4 KB · Görüntüleme: 40
aslında bırak bu işleri müdür yardımcısı yapsın demek geliyor insanın içinden ama
arada bir kodlama pratiği yapmayınca insan paslanıyor...
sanırım şöyle bir şey olacak...
 

Ekli dosyalar

  • FİLTRELEME SIRALAMA VBA.rar
    98.2 KB · Görüntüleme: 56
Yapılmış halini vermektense ben biraz link ekleme yani index oluşturup listeye yönlendirmeden bahsedeyim

İlk sayfamızda plakaları altalta yada yanyana yazıp şekillerini de göze hoş görünür yap. Burası İNDEX sayfan
Plakaların yazıldığı hücreye dosya içinde diğer çalışma sayfalarına link ekle.
Her çalışma sayfasına da plakanın adını ver karışıklığı engellemek için.
Çalışma sayfalarına da öğrenci listesini ekle
 
Hocalarım biraz uğraştım ve demek istediğimi excele döktüm

Yazdırma alanlarını da belirleyip anasayfaya dön butonu koydum

İş görür bence
 

Ekli dosyalar

  • SERVISS.rar
    13.3 KB · Görüntüleme: 47
Excelde kodlama bölümü Alt F11 ile açılıyor
ayrıca geliştirici sekmesini açmak için

Dosya sekmesini tıklatın.
Seçenekler'i tıklatın.
Şeridi Özelleştir'i tıklatın.
Şeridi Özelleştir 'in altında ve Ana Sekmeler'in altında, Geliştirici onay kutusunu seçin.
--------------------------------------------------------------------------------------------------

Private Sub CommandButton1_Click()

Set ws = Worksheets("ANASAYFA")

son = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' ANASAYFA sayfadaki toplam kayıt sayısını verir

For i = 10 To 50 ' sayfada içeriği boşaltılacak hücreler i satırından başlayarak 50. satıra kadar hücrelerin içini boşaltır
Cells(i, 2) = "" ----->>> 2. sütun satırları boşaltıyor örnekte sınıfı olarak geçen alan for döngüsü 10dan başlıyor çünkü örnekte veriler 10 satırdan başlamış
Cells(i, 3) = ""
Cells(i, 4) = ""
Next i ---------------------->>> for next döngüsü arasında hücrelr boşaltıldı
'--------------------------------------------------'2. aşama verilerin çekilmesi
listele = 1

For s = 4 To son ' ANA SAYFADA sayfasında PLAKA taraması yapar for döngüsü içinde if kontrolü yaptırıyoruz

If [E4] = Sheets("ANASAYFA").Cells(s, 5) Then ---------->>> e4 hücresi mahalle sayfasında plaka adının yazıldığı hücre buradaki değeri eğer yani if ile ana sayfada satır satır aratıyoruz koşul sağlandığında mahalle sayfasında verileri aktarıyoruz

Sheets("MAHALLE1").Cells(listele + 9, 2) = Sheets("ANASAYFA").Cells(s, 2) ' ANASAYFA sayfadan verileri çeker 10. satırdan başlayarak yazar

Sheets("MAHALLE1").Cells(listele + 9, 3) = Sheets("ANASAYFA").Cells(s, 3) ' ANASAYFA sayfadan verileri çeker 10. satırdan başlayarak yazar
Sheets("MAHALLE1").Cells(listele + 9, 4) = Sheets("ANASAYFA").Cells(s, 4) ' ANASAYFA sayfadan verileri çeker 10. satırdan başlayarak yazar

listele = listele + 1

End If
Next s

3. aşama mahalle sayfasına alınan veriler şu anda sıralanmamış durumda bu verileri sıralamak için sıralama kodları

ActiveWorkbook.Worksheets("MAHALLE1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("MAHALLE1").Sort.SortFields.Add Key:=Range("B10"), _ --------->>>>>>>>>>>>>>>> b10 hücresi referans alınarak sıralama yapılacak
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("MAHALLE1").Sort
.SetRange Range("B10:D42") ---------------------------------------------------->>>>>>>>>>> bu aralıktaki veriler sıralanacak
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 
Geri
Üst