• DİKKAT

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

Sınıf grubuna göre sayfalara aktarma

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

tgrl

Altın Üye
Katılım
10 Ocak 2020
Mesajlar
13
Excel Vers. ve Dili
1
Merhaba arkadaşlar, ekte paylaştığım excel dosyasında olduğu gibi bir liste var. Liste içerisinde sınıf numaralarına göre sayfalara atamasını yapmasını istiyorum. ayrıca eklemeler oldukça o sınıfın içerinde aktarıp bilgileri alt alta sıralamaya devam etmesini istiyorum. yardımcı olmanızı talep ediyorum. iyi günler dilerim.
 

Ekli dosyalar

Merhaba,
Aktarım yapıldıktan sonra sayfa1 den veriler silinecek mi?
Kod yazacak olan arkadaş bu durumu dikkate almalı.
 
Tekrar merhaba,
Aşağıdaki kodlar veri aktardıktan sonra F sütununa X koyar.
Sonraki aktarımlarda bu sütun dolu ise aynı veriyi aktarmaz.

Kodları ilk aktarımda aktarılacak sayfaları siliniz, ki başlıkları da sayfaya eklensin.

Kod:
Function SayfaVarYok(SayfaAd As String) As Boolean
    On Error Resume Next
    SayfaVarYok = CBool(Len(Worksheets(SayfaAd).Name) > 0)
[CODE]Public Sub Aktar()

Dim sh  As Worksheet, _
    ad  As String, _
    adt As Integer, _
    say As Long, _
    i   As Long, _
    j   As Long, _
    k   As Integer, _
    arr As Variant

Set sh = Sheets(1)

i = sh.Cells(Rows.Count, "A").End(3).Row

arr = sh.Range("A1:F" & i).Value

For i = 2 To UBound(arr, 1)
    If arr(i, 6) = "" Then
        ad = arr(i, 2)
        If SayfaVarYok(ad) = False Then
            adt = adt + 1
            Sheets.Add after:=Sheets(Sheets.Count)
            ActiveSheet.Name = ad
            Sheets(ad).Range("A1").Resize(1, 5) = arr
        End If
        j = Sheets(ad).Cells(Rows.Count, "A").End(3).Row + 1
        For k = 1 To 5
            Sheets(ad).Cells(j, k) = arr(i, k)
        Next k
        Sheets(ad).UsedRange.Columns.AutoFit
        arr(i, 6) = "X"
        say = say + 1
    End If
Next i

With sh
    .Select
    .Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End With

MsgBox say & " Adet Satır Aktarılmıştır. Yeni Açılan Sayfa Sayısı : " & adt

End Sub
End Function[/CODE]
 
Hangi Excel versiyonunu kullanıyorsunuz yazılı değil.
Bir ihtimal Excel 365 kullanıyorsanız, her sayfaya aşağıdaki formülü bir kez yazmanız yeterli olur.
Kod:
=FİLTRE(Sayfa1!A2:İNDİS(Sayfa1!E:E;KAÇINCI(9^99;Sayfa1!E:E));Sayfa1!B2:İNDİS(Sayfa1!B:B;KAÇINCI(9^99;Sayfa1!B:B))=SAYFA()-1)
 
Merhaba,

Profilinizde yazan sürüm bilgisindeki "1" değerini kullandığınız sürüme ve diline göre (bizlerdeki gibi) güncellerseniz daha faydalı olacaktır.

245238
 
Belki bizim bilmediğimiz yeni bir xl sürümüdür Korhan bey :)
 
Geri
Üst