Kod sadeleştirme/iyileştirme

Katılım
24 Şubat 2020
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Standard 2019
Altın Üyelik Bitiş Tarihi
26-04-2025
Arkadaşlar merhaba,
Birimde ki arkadaşlar ortak alanda çalışma yapıyor. 300' e yakın Excel dosyasında ayrı ayrı bilgiler tutuluyor. Ortak alandan direk veri çekemedim, bu sebeple de ortak alandaki her dosyadan veri çeken bir kopyasını masaüstüne 6 ayrı klasör olarak ekledim. Masaüstünde ki klasörler içindeki dosyaları da tek bir Excel de topladım.
Bu tek Excel dosyasından önce güncelleme yapıyor sonrasında da kontrol sağlıyorum.
İşleyiş olarak aksaklık yok, ancak hem kodlar çok uzun hem de daha basit bir yönetimi var ise yardım rica ediyorum. Herhangi bir isim değişikliği vs. durumunda kodları yeniden düzenlemek vakit alıyor.
Tüm yorumlarınız, fikirleriniz ve yardımlarınız için şimdiden teşekkürler. Saygılar,

Örnek olarak;
Ortak alandaki dosyalardan verileri, Veri Al>Klasörden şeklinde masaüstüne alıyorum.
Masaüstündeki Alım klasörü içindeki 35 Excel dosyasını bu şekilde isim olarak açıyorum, güncelliyorum ve kapatıyorum;

Kod:
Sub hammadde_veri_guncelle()

Sheets("rapor").Select

Workbooks.Open FileName:="C:\Users\furkanipek\Desktop\HAMMADDE ÖZET\2023\Hammadde Tabloları\0H. Tahmini Miktarlar.xlsx"
Windows("0H. Tahmini Miktarlar.xlsx").Activate
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ActiveWorkbook.Save
ActiveWorkbook.Close

......

Workbooks.Open FileName:="C:\Users\furkanipek\Desktop\HAMMADDE ÖZET\2023\Hammadde Tabloları\35H. Çiğ Süt.xlsx"
Windows("35H. Çiğ Süt.xlsx").Activate
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ActiveWorkbook.Save
ActiveWorkbook.Close

ActiveWorkbook.RefreshAll

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,605
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodu deneyiniz.
Kod:
Sub hammadde_veri_guncelle()
    Dim Dosyalar As New Collection
    Dim Dosya As Integer
    
    Dosyalar.Add "0H. Tahmini Miktarlar.xlsx"
    Dosyalar.Add "35H. Çiğ Süt.xlsx"
    ' diğer dosya isimlerini de bu şekilde devam ederek ekleyebilirsiniz

    Sheets("rapor").Select
    For Dosya = 1 To Dosyalar.Count
        Workbooks.Open Filename:="C:\Users\furkanipek\Desktop\HAMMADDE ÖZET\2023\Hammadde Tabloları\" & Dosyalar(Dosya)
        Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False
        ActiveWorkbook.Close True
    Next
    ActiveWorkbook.RefreshAll
End Sub
Eğer "C:\Users\furkanipek\Desktop\HAMMADDE ÖZET\2023\Hammadde Tabloları" klasörü içindeki tüm Excel dosyalarına aynı işlem yapılacaksa dosya adlarını yazmanıza da gerek kalmadan klasördeki tüm Excel dosyalarına aynı işlem yapılabilir.
 
Katılım
24 Şubat 2020
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Standard 2019
Altın Üyelik Bitiş Tarihi
26-04-2025
Gayet güzel oldu, teşekkür ediyorum.
 
Üst