• DİKKAT

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

1 den Fazla Dosya İsteğe Göre Birleştirme

  • Konbuyu başlatan Konbuyu başlatan lfkaya
  • Başlangıç tarihi Başlangıç tarihi
Katılım
11 Nisan 2016
Mesajlar
31
Excel Vers. ve Dili
2021
Arkadaşlar ekteki dosyada 1.xls 2.xls ve calisma.xls adlı dosyalar var yapmak istediğim calısma.xls dosyasna calisma dosyası içinde var olan birleşmişVeri kısmına sabit kısmındaki değerleri kontrol ederek 1 ve 2 nolu dosyaları (burada 30 a yakın dosya var) birleştirmek birleştirirken bazı kurallar uygulamak dosya içinde teferruatlı olarak anlattım
 

Ekli dosyalar

Arkadaşlar yardımcı olabilecek kimse yok mu? Güncel ve acil
 
Ekli dosyayı kontrol ediniz.
 

Ekli dosyalar

Ellerinize sağlık içeriye alınacak dizini ve dosyaları seçme imkanımız olabilirmi
 
Ellerinize sağlık içeriye alınacak dizini ve dosyaları seçme imkanımız olabilirmi

Nasıl yani dizini zaten seçiyorsunuz.
dizin içinde yüz dosya varsa hepsinden verileri alır.
burada veri alınacak dosyalar bir dizinin içinde olmalı
 
Nasıl yani dizini zaten seçiyorsunuz.
dizin içinde yüz dosya varsa hepsinden verileri alır.
burada veri alınacak dosyalar bir dizinin içinde olmalı


Doğrudur dizin seçiyoruz dizindeki tüm dosyaları değilde dizin içindeki seçtiğim dosyalardaki değerleri içeri almamız mümkün mü demek istemiştim

Ayrıca oluşturulan dosyayı açarken ekrandaki uyarıyı alıyorum
 

Ekli dosyalar

  • uyari.jpg
    uyari.jpg
    29.7 KB · Görüntüleme: 5
Son düzenleme:
Alternatif olarak aşağıdaki kodları kullanabilirsiniz.
Kod:
Sub ASKM_Veri_Al()
Dim s1, s2 As Worksheet
Set s1 = Sheets("BirleşmişVeri")
Set s2 = Sheets("Sabit")
Dim SonSat, SonSat2 As Long

Application.ScreenUpdating = False

Dim Yol As String, Dosya As String
Dim K2 As Workbook
On Error Resume Next
s1.Select
Yol = ThisWorkbook.Path & "\"
Dosya = Dir(Yol & "*.xls")
Do While Len(Dosya) > 0
    If ThisWorkbook.Name <> Dosya Then
        Workbooks.Open Filename:=Dosya
        Range("d3:h" & [c65535].End(3).Row).Select
        Selection.Copy
        Windows("Calisma.xls").Activate
        Range("a" & [a65536].End(3).Row + 1).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Windows(Dosya).Activate
        
        ActiveWorkbook.Close
    
    End If
    
    Dosya = Dir()
    
Loop
SonSat = s1.Range("A65536").End(3).Row
SonSat2 = s2.Range("B65536").End(3).Row

Arama_Alani = "B5:D" & SonSat2
For x = 3 To SonSat
    If WorksheetFunction.CountIf(s2.Range("B5:B" & SonSat2), s1.Cells(x, "B")) > 0 Then
        s1.Cells(x, "F") = WorksheetFunction.VLookup(s1.Cells(x, "B"), s2.Range(Arama_Alani), 3, 0)
    End If
Next

Application.ScreenUpdating = True
    
End Sub
 
Doğrudur dizin seçiyoruz dizindeki tüm dosyaları değilde dizin içindeki seçtiğim dosyalardaki değerleri içeri almamız mümkün mü demek istemiştim

Ayrıca oluşturulan dosyayı açarken ekrandaki uyarıyı alıyorum

ekli dosyada form aç düğmesine tıkla sonra dosyaları yükle düğmesine tıkla listeden seçimini yap veri al düğmesine tıkla

benim gönderdiğim dosyada her hangi bir uyarı almıyorum.

siz dosyayı açın farklı kaydet seçeneğinden xlsm uzantılı kayıt yapın ve kayıt yaptığınız dosyayı açın onun üzerinde işlemlerinizi yapın
 

Ekli dosyalar

ekli dosyada form aç düğmesine tıkla sonra dosyaları yükle düğmesine tıkla listeden seçimini yap veri al düğmesine tıkla

benim gönderdiğim dosyada her hangi bir uyarı almıyorum.

siz dosyayı açın farklı kaydet seçeneğinden xlsm uzantılı kayıt yapın ve kayıt yaptığınız dosyayı açın onun üzerinde işlemlerinizi yapın

Üstat ellerine sağlık son gönderdiğin dosyada 2 sorun var 1. veriyi içeri aldıktan sonra (DOSYA)dışarı atarken atmış olduğu dosya açılırken aynı hatayı veriyor yalnız dosyayı açıp farklı kaydet ile .xls olarak kaydedince düzeliyor (ETA Programından içeri veri alırken veriyi almıyor yoksa) 2. form aç değilde veril al kısmını kullanınca aşağıdaki hatayı veriyor
 

Ekli dosyalar

  • UYARİ.jpg
    UYARİ.jpg
    17.7 KB · Görüntüleme: 2
Son düzenleme:
Sizde Ofisin hangi sürümü yüklü
 
Dosya oluştur komutunu bununla değiştir.

Kod:
Sub Bu_Sayfayı_Çalışma_Kitabı_Yap()

'On Error Resume Next
Dim fL As Object
Set fL = CreateObject("Scripting.FileSystemObject")
dosya = ThisWorkbook.FullName
dosya_adi = fL.GetBaseName(dosya)
uzanti = "." & fL.GetExtensionName(dosya)

If uzanti = ".xls" Then
FileFormatNum = -4143
ElseIf uzanti = ".xlsm" Then
FileFormatNum = 52
ElseIf uzanti = ".xlsx" Then
FileFormatNum = 51
ElseIf uzanti = ".xlsb" Then
FileFormatNum = 50
Else
FileFormatNum = 56
End If


Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path  'Klasor.Items.Item.Path

If InStr(1, Kaynak, "{") > 0 Then GoTo Atla

If Right(Kaynak, 1) <> "\" Then Kaynak = Kaynak & "\"
sat1 = CreateObject("Scripting.FileSystemObject").GetFolder(Kaynak).Files.Count + 1
deger = InputBox("dosyanın adını değiştirebilirsiniz.", "UYARI!", dosya_adi & " " & sat1)

ActiveSheet.Copy
'Sheets(ActiveSheet.Name).Name = deger1
ActiveSheet.DrawingObjects.Delete

ActiveWorkbook.SaveAs Kaynak & deger & uzanti, FileFormat:=FileFormatNum
ActiveWorkbook.Close False
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If

[COLOR="Red"]End Sub[/COLOR]
 
birde bu dosyayı dene
 

Ekli dosyalar

Üstat ellerine sağlık son gönderdiğin dosya güzel olmuş ellerine sağlık hakkını helal et yalnız form2 yi aktif ettiğinde veriyi içeri alırken dosyalardaki başlıkları ve gereksiz sutunları alıyor ayrıca aldıkdan sonra aldığı dosya isimleri ekranda kalıyor belkide ben kullanamadım ama form2 si olmadan işimi görüyor gibi gözüküyor bu arada form2 çok güzel olmuş
 
Son düzenleme:
Üstat ellerine sağlık son gönderdiğin dosya güzel olmuş ellerine sağlık hakkını helal et yalnız form2 yi aktif ettiğinde veriyi içeri alırken dosyalardaki başlıkları ve gereksiz sutunları alıyor ayrıca aldıkdan sonra aldığı dosya isimleri ekranda kalıyor belkide ben kullanamadım ama form2 si olmadan işimi görüyor gibi gözüküyor bu arada form2 çok güzel olmuş

Bu kodlar örnek dosyanıza göre yazıldı örnek dosyanız kendi dosyalarınızla bire bir aynı ise sorun çıkmaz ama aynı değilse verileri alırken sütunlar veya satırlar eksik gelebilir.
 
Bu kodlar örnek dosyanıza göre yazıldı örnek dosyanız kendi dosyalarınızla bire bir aynı ise sorun çıkmaz ama aynı değilse verileri alırken sütunlar veya satırlar eksik gelebilir.

Normal form1 de alırken sorun yok sadece yeni eklediğiniz form2 de bu sıkıntı var onda içeri veri alırken form1 deki gibi almıyor

Ayrıca BirleşmişVeri kısmında bulunan C sütunundaki ZRaporNo değerlerini veriyi içeri alırken satır aşağı inince otomatik olarak B sütunundaki cihazno suna göre sabit sayfasının B sütunundaki cihazno'ları ile eşleştirerek E sutununa Z Rapor nolarını aktarabiliriz amacım no atlamayı engellemek
 
Son düzenleme:
Üstat sanırım Anlatamadım videodaki gibi çalışıyor makrodan (ALT +F11) de form2 yi kullanırsam sıkıntı yaşıyorum demek istemiştim

Ayrıca BirleşmişVeri kısmında bulunan C sütunundaki ZRaporNo değerlerini veriyi içeri alırken satır aşağı inince otomatik olarak B sütunundaki cihazno suna göre sabit sayfasının B sütunundaki cihazno'ları ile eşleştirerek E sutununa Z Rapor nolarını aktarabiliriz amacım no atlamayı engellemek
 
Üstat sanırım Anlatamadım videodaki gibi çalışıyor makrodan (ALT +F11) de form2 yi kullanırsam sıkıntı yaşıyorum demek istemiştim

Ayrıca BirleşmişVeri kısmında bulunan C sütunundaki ZRaporNo değerlerini veriyi içeri alırken satır aşağı inince otomatik olarak B sütunundaki cihazno suna göre sabit sayfasının B sütunundaki cihazno'ları ile eşleştirerek E sutununa Z Rapor nolarını aktarabiliriz amacım no atlamayı engellemek

form2 derken userform2' yi mi diyorsun o form oraya fazladan kondu diğer taraftan bu metot ile birleşmiş hücrelerden verileri alırken kod hata verir.
 
Geri
Üst