İki Sayfayı Kıyasla, Bulursan İlk Boş Satıra Veriyi Yaz, Bulamazsan Boş Bırak

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
20 Temmuz 2009
Mesajlar
183
Excel Vers. ve Dili
office 2016
Merhaba.
Başlıktan da anlaşılacağı üzere aynı excelde bir veri sayfam var birde çok fazla sayıda çalışma sayfam mevcut.

Talebim çalışma sayfalarının içindeki boş satırlara veri listesindeki çeşitli bilgilerin gelmesi. Bunu; çalışma sayfasının adına bak, veri listesindeki ilgili sütün ile karşılaştır, eğer ki ilgili çalışma sayfasının adı veri listesinde var ise, bilgileri çalışma sayfasının ilk boş satırına yaz, yok ise satırı boş bırak ve sıradaki çalışma sayfasına geç şeklinde yapmamız gerekiyor.Umarım anlaşılır açıklama yapabilmişimdir.

Ek te bulunan örnek exceli incelediğinizde daha kolay anlayacağınızı düşünüyorum. Zaman ayırdığınız için teşekkür ediyorum.

http://s4.dosya.tc/server3/ndy7bu/excel_calisma.xlsx.html
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
1111 isimli sayfada;

B4 hücresine;
Kod:
=EĞERHATA(YIL(İNDİS(LİSTE!$A:$E;KAÇINCI(--PARÇAAL(HÜCRE("dosyaadı";$A$1);BUL("]";HÜCRE("dosyaadı";$A$1))+1;31);LİSTE!$C:$C;0);4));"")
C4 hücresine;
Kod:
=EĞERHATA(İNDİS(LİSTE!$A:$E;KAÇINCI(--PARÇAAL(HÜCRE("dosyaadı";$A$1);BUL("]";HÜCRE("dosyaadı";$A$1))+1;31);LİSTE!$C:$C;0);2);"")
D4 hücresine;
Kod:
=EĞERHATA(İNDİS(LİSTE!$A:$E;KAÇINCI(--PARÇAAL(HÜCRE("dosyaadı";$A$1);BUL("]";HÜCRE("dosyaadı";$A$1))+1;31);LİSTE!$C:$C;0);3);"")
E4 hücresine;
Kod:
=EĞERHATA(İNDİS(LİSTE!$A:$E;KAÇINCI(--PARÇAAL(HÜCRE("dosyaadı";$A$1);BUL("]";HÜCRE("dosyaadı";$A$1))+1;31);LİSTE!$C:$C;0);4);"")
F4 hücresine;
Kod:
=EĞERHATA(İNDİS(LİSTE!$A:$E;KAÇINCI(--PARÇAAL(HÜCRE("dosyaadı";$A$1);BUL("]";HÜCRE("dosyaadı";$A$1))+1;31);LİSTE!$C:$C;0);5);"")
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ek olarak profilinizdeki ofis sürümünü güncellemenizde fayda var. Eklediğiniz dosya uzantısı yeni versiyonlara ait.
 
Katılım
20 Temmuz 2009
Mesajlar
183
Excel Vers. ve Dili
office 2016
Korhan bey ilginiz için çok teşekkür ederim.
E4 hücresi sayı değerinde çıkıyor.
Diğer taraftan bu formülü sadece "1111" sayfasına yazsam ve bir butona tıklasam diğer tüm sayfarın ilk boş satırlarına ilgili veriler gelsin gibi birşey yapabilir miyiz? Çünkü bu excel de yaklaşık 400 çalışma sayfam mevcut ve yine aynı formülü kullanacağım 6 dosyam daha var.
İyi akşamlar diliyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşin içine makro girecekse formül kullanmaya gerek kalmayacaktır.

Tabi siz ille de formül olsun demezseniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Sub AKTAR()
    Dim S1 As Worksheet, Sayfa As Worksheet
    Dim X As Long, Son As Long, Satir As Long
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Set S1 = Sheets("LİSTE")
    Son = S1.Cells(S1.Rows.Count, 3).End(3).Row
    
    For X = 2 To Son
        If S1.Cells(X, 6) = "" Then
            On Error Resume Next
            Set Sayfa = Sheets(S1.Cells(X, 3).Text)
            On Error GoTo 0
            If Not Sayfa Is Nothing Then
                Satir = Sayfa.Cells(Sayfa.Rows.Count, 2).End(3).Row + 1
                Sayfa.Cells(Satir, 2) = Year(S1.Cells(X, 4))
                Sayfa.Cells(Satir, 3) = S1.Cells(X, 2)
                Sayfa.Cells(Satir, 4) = S1.Cells(X, 3)
                Sayfa.Cells(Satir, 5) = CDate(S1.Cells(X, 4))
                Sayfa.Cells(Satir, 6) = S1.Cells(X, 5)
                S1.Cells(X, 6) = "Aktarıldı"
            End If
            Set Sayfa = Nothing
        End If
    Next

    Set S1 = Nothing

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
20 Temmuz 2009
Mesajlar
183
Excel Vers. ve Dili
office 2016
E sütunundaki tarih yine sayısal olarak çıkıyor.

"1111" sayfası e4 de "42612" yazıyor. Onun haricinde tam istediğim gibi olmuş. Ellerinize sağlık.

İş yerinde uygulayacağım. Beceremezsem müsaadeniz olursa sizi tekrar rahatsız edebilirim.

İyi akşamlar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfalarınızdaki "E" sütunlarını tarih formatında biçimlendirirseniz sorun çözülür.

Ben yinede koda küçük bir ekleme yaptım.
 
Katılım
20 Temmuz 2009
Mesajlar
183
Excel Vers. ve Dili
office 2016
Katılım
20 Temmuz 2009
Mesajlar
183
Excel Vers. ve Dili
office 2016
Farklı bir sitede sorunum çözüldü. Korhan bey ilginiz için tekrar tşk ederim. İyi akşamlar.

Saygılar
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst