• DİKKAT

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

sayfalar arası veri aktarımı

Katılım
9 Haziran 2016
Mesajlar
13
Excel Vers. ve Dili
365
merhaba,
toplamda içerisinde dört sayfa bulunan excel dosyamın son sayfasına diğer üç sayfadan veri getirmek istiyorum. diğer üç sayfadaki "gönderiliş tarihi" sütunu boş olan tüm verileri "bekleyen dosyalar" sayfamda toplamak istiyorum.
yani şöyle detaylandırayım eğer gönderiliş tarihi yazmıyorsa, hangi sayfadan geldiği ve geliş tarihi ve dosya adı sütunlarını içeren özet tabloyu nasıl yapabilirim?
 
Mevcut dosyanızla aynı yapıda (sayfa sayısı, adları, sütun sayısı, sütun başlıkları vs) örnek bir dosya hazırlayıp, dosya yükleme sitelerinden birinde paylaşıp burada linkini verirseniz daha kolay çözüm buluruz.
 
Aşağıdaki kodları bir modüle kopyalayıp deneyiniz:
Kod:
Sub sınav()
Set s1 = Sheets("BEKLEYEN DOSYALAR")

For sınıf = 1 To Sheets.Count
    If Sheets(sınıf).Name <> s1.Name Then
        son = Sheets(sınıf).Cells(Rows.Count, "A").End(3).Row
        For öğrenci = 2 To son
            If Sheets(sınıf).Cells(öğrenci, "C") = "" Then
                yeni = s1.Cells(Rows.Count, "A").End(3).Row + 1
                s1.Cells(yeni, "A") = Sheets(sınıf).Cells(öğrenci, "A")
                s1.Cells(yeni, "B") = Sheets(sınıf).Cells(öğrenci, "B")
                s1.Cells(yeni, "C") = Sheets(sınıf).Name
            End If
        Next
    End If
Next
End Sub
 
Aşağıdaki kodları bir modüle kopyalayıp deneyiniz:
Kod:
Sub sınav()
Set s1 = Sheets("BEKLEYEN DOSYALAR")

For sınıf = 1 To Sheets.Count
    If Sheets(sınıf).Name <> s1.Name Then
        son = Sheets(sınıf).Cells(Rows.Count, "A").End(3).Row
        For öğrenci = 2 To son
            If Sheets(sınıf).Cells(öğrenci, "C") = "" Then
                yeni = s1.Cells(Rows.Count, "A").End(3).Row + 1
                s1.Cells(yeni, "A") = Sheets(sınıf).Cells(öğrenci, "A")
                s1.Cells(yeni, "B") = Sheets(sınıf).Cells(öğrenci, "B")
                s1.Cells(yeni, "C") = Sheets(sınıf).Name
            End If
        Next
    End If
Next
End Sub

Teşekkür ederim istediğim gibi çalışıyor. ancak excele çok hakim olmadığımdan soruyorum her seferinde makroyu çalıştırmak mı gerekiyor bu hücrelerin getirilmesi için. otomatik getirmesi için bir kısa yolu var mıdır?
 
Otomatikten kastınız nedir? Excel ne zaman otomatik getirilmesi gerektiğini nerden anlayacak?
 
Onu anlamak biraz zor, çünkü siz veri gireceksiniz diyelim, A ve B'yi gireceksiniz, C'ye veri girmeyeceksiniz. Zaten az önce de C'de veri yoktu. Excel sizin biraz sonra C'ye veri girip girmeyeceğinizi bilemez. Onun yerine boş bırakma değil de "Yok" gibi bir ifade yazıldığında aktarma yapması sağlanabilir. Başka aklıma bir şey gelmiyor.
 
Geri
Üst