Soru Excel sayfalarından makro veya formülle bilgilerin hızlı çekilmesi

Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Merhaba,
Aşağıdaki resimde de (ekli excel dosyamda görüleceği üzere) kriterlerden en az birini girerek ya da bir kaç kriteri girerek aşağıdaki excel sayfalarından verileri çekerek sol taraftaki ilgili forma getirmek ve sonrasında da soldaki forumda yer alan rapolarlanan tarihe göre eskiden yeniye doğru sıralamak istiyoruz. Formüller ya da Makro ile hangisi daha iyi kalıcı ve exceli şişirmez çünkü aşağıdaki excel sayfaları 50binli satırları bulabiliyor. Teşekkür ederiz yardımlarınız için.


 
Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
eski yılları arar oldum bu forumda...
 
Son düzenleme:
Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Bildiklerimle kendimce yaptığım düzenleme ektedir. Fakat bu düzenleme eksik diğer ögeleri yapamadım (daha doğrusu tarihle ilgili ögeleri). Ayrıca bu yaptığım kodların kısa ve daha iyi olanı vardır bilgisayarı kasmaması ve dosyanın şişmemesi için.
Yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.
 
Son düzenleme:

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,556
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Aşağıdaki kodu örnek dosyanızda bir modüle yapıştırarak dener misiniz?
Rich (BB code):
Sub Raporla()
Set s1 = Sheets("ANA EKRAN")
On Error GoTo 10
Application.ScreenUpdating = False
s1.Range("A3:G" & s1.Rows.Count).ClearContents
sat = 3
For i = 2 To Sheets.Count
    Aranan = s1.Cells(2, "H")
    Set c = Sheets(i).Range("A1:A" & Sheets(i).Cells(Rows.Count, "A").End(3).Row).Find(Aranan, , xlValues, xlWhole)
    If Not c Is Nothing Then
        adres = c.Address
        Do
            For j = 1 To 7
                s1.Cells(sat, j) = Sheets(i).Cells(c.Row, j)
            Next j
            sat = sat + 1
            Set c = Sheets(i).Cells.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> adres
    End If
Next i
    s1.Range("A3:G" & s1.Rows.Count).Sort Key1:=[F1], Order1:=1
10 Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Merhaba,
Aşağıdaki kodu örnek dosyanızda bir modüle yapıştırarak dener misiniz?
Rich (BB code):
Sub Raporla()
Set s1 = Sheets("ANA EKRAN")
On Error GoTo 10
Application.ScreenUpdating = False
s1.Range("A3:G" & s1.Rows.Count).ClearContents
sat = 3
For i = 2 To Sheets.Count
    Aranan = s1.Cells(2, "H")
    Set c = Sheets(i).Range("A1:A" & Sheets(i).Cells(Rows.Count, "A").End(3).Row).Find(Aranan, , xlValues, xlWhole)
    If Not c Is Nothing Then
        adres = c.Address
        Do
            For j = 1 To 7
                s1.Cells(sat, j) = Sheets(i).Cells(c.Row, j)
            Next j
            sat = sat + 1
            Set c = Sheets(i).Cells.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> adres
    End If
Next i
    s1.Range("A3:G" & s1.Rows.Count).Sort Key1:=[F1], Order1:=1
10 Application.ScreenUpdating = True
End Sub
merhaba,
emeğinize sağlık dosya hızlı şekilde işlem görüyor. Fakat aranan değer aranan sayfaların tüm satırlarında ya da tüm sütunlarında aranıyor. Bu şekilde değil de aranan değer sadece ilgili sütunda aransın yani bizim aradığımız - H2 hücresi için - diğer sayfaların A sütununda aransın sadece ki diğer sütunlarda olan aynı değerler gelmesin.

2. konu ise seçtiğimiz sayfaya diğer sayfalardan getirdiğimiz hücrelerin içerikleri aynı biçim, aynı yazı tipi, aynı hücre rengi vb. neyse aynısını getirip ilgili sayfaya yapıştırsın ve yeni arama yapılınca ilgili ana sayfadaki sayfa düzeni getirilen hücre içeriklerine göre 100.satır kadar da dolsa 2. satıra kadarda dolsa bozulmasın.

3. konu olabiliyorsa dosyada da bahsettiğim gibi iki tarih aralığına göre getirme

Teşekkür ederim.
 
Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Evet tam olarak bunu yapmak istemiştim. Elinize sağlık dosya şişmeden hızlı şekilde iş görüyor teşekkürler.
 
Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Sayın @dEdE
Dosyada yeni bir durum hasıl oldu şöyle ki;
Aranan değeri ana ekrana çağırdığımızda aranan değerin ilgili sayfadaki hücre boyaması veya yazı renginin de aynı olması kısacası ilgili çalışma sayfasında nasıl yazılmış, boyanmış ise aynısının ana ekrana getirilmesi mümkün müdür?
Teşekkür ederim.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,556
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Dener misiniz?
İstediğinizi yapmak için, işlemleri hafızada gerçekleştirmek yerine tek tek satırlara başvuru yapıldığından #8 numaralı mesaj ekindeki kodlara göre daha yavaş çalışır.
 

Ekli dosyalar

Katılım
14 Nisan 2021
Mesajlar
19
Excel Vers. ve Dili
2002-2008 -2019
Elinize sağlık çok güzel olmuş. Dediğiniz gibi ağırlaşmış, kasıyor. 500binli satırlara geldiğinde daha da ağırlaşacaktır sanrım.
 
Üst