• DİKKAT

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

Arkadaşlar yıl sonu raporlaması için yardım lütfen

  • Konbuyu başlatan Konbuyu başlatan travman
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Aralık 2010
Mesajlar
9
Excel Vers. ve Dili
2007
Ya forumu aradım ama benimkine yakın makrolar var ama çalıştıramadım yada istediğim olmadı.

İstediğim aslında şu:

Yüzlerce excel dosyasından mesela a2 hücrelerini "rapor" isimli excel dosyasına alt alta sıralatmak istiyorum.Aslında bu kadar basit değil ama gerisini ben halledeceğimi umuyorum.

İlgilerinize şimdiden teşekkürler...
 
Selamlar,

Ekteki klasördeki gibi sizde çalışmalarınızı aynı klasör altında toplayıp verileri alabilirsiniz. Örnek çalışmayı incelermisiniz. Sanıyorum kendinize uyarlayabilirsiniz.

Kullanılan kod;
Kod:
Option Explicit
 
Sub DOSYALARDAN_VERİ_AL()
    Dim FSO As Object, DOSYA As Object, DOSYA_YOLU As Object, DOSYALAR As Object, SATIR As Long
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set DOSYA_YOLU = FSO.GetFolder(ThisWorkbook.Path)
    Set DOSYALAR = DOSYA_YOLU.Files
    
    Range("A:B").ClearContents
    
    For Each DOSYA In DOSYALAR
        If DOSYA.Name <> "RAPOR.xls" Then
            SATIR = SATIR + 1
            Range("A" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R2C1")
            Range("B" & SATIR) = DOSYA.Name
        End If
    Next
    
    Set FSO = Nothing
    Set DOSYA_YOLU = Nothing
    Set DOSYALAR = Nothing
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

Ekli dosyalar

Korhan bey ilginize çok teşekkür ederim.
Ama istediğim dosyadan a1,b2,k55 ...... hücrelerini alabilmek.Sizin yazdığınızda sadece a2 geliyor."Satır" döngüsü olmadan mı yapmak lazım anlamadım.
Saygılar...
 
yanıt

Bu şekil deneyiniz
Kod:
            Range("A" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R2C1")
            Range("B" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R2C2")
            Range("C" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R55C11")
 
Olmuyo olmuyo olmuyo kafayı yiycem ya.

benim tam olarak isteğim şu:

1.xls--2.xls--3.xls .... dosyalarında "ICML" sayfasından

a.1 hücresini "rapor" dosyasında a.1 hücresine,
a.13 hücresini "rapor" dosyasında b.1 hücresine,
k.17 hücresini "rapor" dosyasında c.1 hücresine,
h.2 hücresini "rapor" dosyasında d.1 hücresine,

yani kaynak hücreleri direk yazmak...Döngü kullanılınca sıralı ne varsa geliyor.Ama ben sıralı değilde sadece seçtiğim hücreler gelsin istiyorum.

Teşekkürler emekleriniz için....
 
Ya forumu aradım ama benimkine yakın makrolar var ama çalıştıramadım yada istediğim olmadı.

İstediğim aslında şu:

Yüzlerce excel dosyasından mesela a2 hücrelerini "rapor" isimli excel dosyasına alt alta sıralatmak istiyorum.Aslında bu kadar basit değil ama gerisini ben halledeceğimi umuyorum.

İlgilerinize şimdiden teşekkürler...

Sayın travman ilk mesajınızda yanlızca a2 hücresindeki değeri almak istediğinizi belirtmişsiniz korhan bey de bu doğrultuda çözüm üretmiş.
oysa şimdi farklı hücrelerdeki verileri hemde sayfasını belirterek istemişsiniz.

En baştan ne istediğinizi açıkca belirtseydiniz daha iyi olurdu şimdi yazılan kodların hepsini revize etmek gerekiyor.
 
ekli dosyaya bir bakarmısınız.
 

Ekli dosyalar

Halit3 hocam çok teşekkür ederim biraz değiştirerek işimi görecek gibi.

Haklısınız ama düşündüğümü yazamadım sanırım.Algoritmayı alsam gerini yapacağımı sanıyordum.Hazıra konmamak için tam olarak ne istediğimi yazmamıştım ilk başta.

Neyse sorunum çözülecek...Çok teşekkür ederim hepinizin emeğine...
 
Geri
Üst