dosya birleştirme

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
728
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşlar bir önceki soruma dosyaları ekleyip gönderme yapamadığımdan yeniden sormak zorunda kaldım.

2016.xlsx dosyası sabit olan kısım , 2017.xlsx dosyası ise değişken olan kısım arkadaşlar. Amacım 2017.xlsx dosyasında 1.satır haricindeki tüm verileri otomatik olarak 2016.xlsx dosyasının sonuna otomatik olarak eklettirmek. Bunu yapmak için nasıl bir macro ya da komut kullanabiliriz?

Alanlar örnek için olduğundan değişkendir.

Teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,767
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
referanslarda bunlar olmalı

Microsoft ActiveX Data Objects Library (Son Versiyonu)
Microsoft ADO Ext. 2.5 for DDL and Security(Son Versiyonu)



Bu kodu bir dene

Kod:
Private Sub CommandButton1_Click()

Application.DisplayAlerts = False
Dim Con As Object, rs As Object, Sorgu As String, dosya As String, son As String
Dim Kayıt_Yeri As String, Sayfa_adi As String

Sayfa_adi = "[COLOR="Red"]Sayfa1[/COLOR]"
dosya = "[COLOR="red"]2017.XLSX[/COLOR]"

Kayıt_Yeri = ThisWorkbook.Path & "\" & dosya

Set Con = CreateObject("Adodb.Connection")
Set rs = CreateObject("Adodb.RecordSet")
Con.Open = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & Kayıt_Yeri & ";Extended Properties=""Excel 12.0;HDR=yes"""

Sorgu = "Select * from [" & Sayfa_adi & "$] "
rs.Open Sorgu, Con, 1, 1

son = Cells(Rows.Count, 1).End(3).Row + 1

Range("A" & son).CopyFromRecordset rs
rs.Close: Con.Close
Set Con = Nothing: Set rs = Nothing: Sorgu = ""
atla:

Application.DisplayAlerts = True
MsgBox "işlem tamam"
End Sub
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
728
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Hocam öncelikle çok teşekkür ederim. Bu macro 2017.xlsx dosyasında mı yoksa 2016.xlsx dosyasına mı adapte edilecek? Birde adapte ettimi xlsx formatındaki dosyada hata veriyor ve xlsm olarak kaydetmem istiyor. Bu durumda da raporlama yapmış olduğum diğer programım xlsm dosyasını kabul etmiyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,767
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
2016.xlsm dosyasından 2017.xlsx dosyasındaki verileri alır

yani veri alacak ana dosyanın uzantısı xlsm olmalı kodlarda o dosyanın içinde olmalı sonra yukardaki mesajdaki kodu çalıştırın kırmızı renkli dosya isminden verileri almaktadır.
 
Üst