Satırları farklı çalışma kitabında ki sayfalara aktarma

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Merhaba iyi günler
sorumun ekinde 2 adet excell çalışma kitabı var. GÜNLÜK VERİ DOSYA sının anasayfasında değerli üstad YUSUF44' ün oluşturduğu anasayfadaki verileri silmeden satır olarak diğer sayfalara aktaran bir makro var. Anasayfada daha önce aktarma yapılmış bir satır üzerinde değişiklik yaptığımızda da diğer sayfalarda aynı satır üzerinde güncelleme yapıyor. İstediğim ise bu makronun tüm özelliklerini koruyarak GÜNLÜK VERİ DOSYASI' nda anasayfada girilen verileri FARKLI LİSTE isimli çalışma kitabındaki ilgili sayfalara aktarmak.
bu dosyayı asıl uyarlayacak olduğum konu ise, kurumumuzda çeşitli alanlarda çeşitli veri kayıtları tutuluyor, istiyorum ki x, v, y, şahısları tuttukları excell listelerine veri girdikçe bu verilerin hepsi tek bir çalışma kitabı altında eklerdeki dosyalarda olduğu gibi ilgili sayfalarda toplansın.
 

Ekli dosyalar

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
bir yolu yok mu acaba A çalışma kitabında ki satırı aynı nitelik ve özelliklerdeki B çalışma kitabının sayfaların ki yerine aktarmanın yukarıda ki eklerde olduğu gibi sayfalar arası değil de kitaplar arası ben A kitabında çalışacağım verilerimi girdiğimde veri girilen satır A kitabında kaydolurken B kitabına da kayıt olacak. örneğin 2. satırı A kitabında doldurdum kaydettim B kitabında da kayıt yapacak veya 2. satır üzerinde veri değiştirdim B kitabı da güncelleyecek. Yukarıda ki örneklerde Yusuf44 Hocam Aynı çalışma içindeki sayfalar arasında tam istediğim şekliyle yaptı. Çok Sağolsun. Aynı bu şartlarda farklı çalışma kitaplarında bu mümkün olmaz mı?
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Üstadlarım Farklı kitaplar arası veri taşımayı sırasıyla A kitabından taşınacak hücreleri kopyalayıp B kitabında aktarılacak yer işaretlenip Maus' u sağ click yapıp özel yapıştırı tıklayarak bağ yapıştır şeklinde yapabiliyoruz. veri alınacak farklı çalışma kitabında değişiklik yapınca otomatik olarak veriyi kaydettiğimiz sayfadada kapalı olsa dahi değişiklik yapıyor. şimdilik böyle bir çözüm buldum izlediğim video ve okuduğum bilgi paylaşımlarından. buradaki sorun şu ki sürükleyerek kullanılacak tüm satır ve sütunlara uyguladığımızda bu formülü veriyi çekeceği sayfa veya kitapta boş olan hücreleri rakam olarak (0) gösteriyor. umarım üstadlar makrolu çözümü biliyordur iyi geceler
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Üstadlar konu hala günceldir. Ekli dosyalardaki GÜNLÜK VERİ DOSYASI' ndaki anasayfada ki verileri FARKLI LİSTE isimli kitaba göndermek istiyorum. GÜNLÜ VERİ DOSYASI' nda anasayafa üzerinde değişiklik yapılırsa da FARKLI LİSTE' deki ilgili verilerde güncellenmeli. burada ki içinden çıkamadığım husus şu birçok örnek çalışma buldum buradan ve farklı birçok siteden ama hepsi başka kitaplardan veri çekme ile alakalı benim problemim ise FARKLI LİSTE GÜNLÜK VERİ DOSYASI' ndan veri çekmeyecek, GÜNLÜK VERİ DOSYASI' nın ANASAYFASI FARKLI LİSTE ye veri gönderecek. Yardımcı olur musunuz? Karışıklığa meydan vermemek için FARKLI LİSTE' nin tek çalışma sayfalı halini yüklüyorum. yukarıda ki ekte değişik sayfalarda vardı ancak o sayfalar dikkate alınmayacak.
 

Ekli dosyalar

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
dosya.tc sitesine yüklerseniz bakabilirim.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Aşağıdaki kodu Günlük Veri Dosyasındaki Anasayfa nın kod bölümüne ekleyiniz.
Daha iyi çözümler elbette vardır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Target, Range("b2:N10000")) Is Nothing Then Exit Sub
    veriler = UsedRange.Value
    Dim xl As Excel.Application
    Set xl = CreateObject("Excel.Application")
    Dim wb As Workbook
    Set wb = xl.Workbooks.Open(ThisWorkbook.Path & "\FARKLI LİSTE.xlsx")
    xl.Visible = False
    wb.Sheets(1).Range("A1:N" & UBound(veriler, 1)).Value = veriler
    wb.Save
    wb.Close
    Set xl = Nothing
    Application.ScreenUpdating = True
End Sub
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam mevcut olan kodu silerek mi ekleyim mevcut kodda başa mı?
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Aşağıdaki kodu Günlük Veri Dosyasındaki Anasayfa nın kod bölümüne ekleyiniz.
Daha iyi çözümler elbette vardır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Target, Range("b2:N10000")) Is Nothing Then Exit Sub
    veriler = UsedRange.Value
    Dim xl As Excel.Application
    Set xl = CreateObject("Excel.Application")
    Dim wb As Workbook
    Set wb = xl.Workbooks.Open(ThisWorkbook.Path & "\FARKLI LİSTE.xlsx")
    xl.Visible = False
    wb.Sheets(1).Range("A1:N" & UBound(veriler, 1)).Value = veriler
    wb.Save
    wb.Close
    Set xl = Nothing
    Application.ScreenUpdating = True
End Sub
Murat Hocam her ne yaptımsa çalıştıramadım bu kodu sizde dosya.tc ye yükleyebilir misiniz? nerede hata yapıyorum yada yanlış yapıyorum görsem
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Aşağıdaki kodu Günlük Veri Dosyasındaki Anasayfa nın kod bölümüne ekleyiniz.
Daha iyi çözümler elbette vardır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Target, Range("b2:N10000")) Is Nothing Then Exit Sub
    veriler = UsedRange.Value
    Dim xl As Excel.Application
    Set xl = CreateObject("Excel.Application")
    Dim wb As Workbook
    Set wb = xl.Workbooks.Open(ThisWorkbook.Path & "\FARKLI LİSTE.xlsx")
    xl.Visible = False
    wb.Sheets(1).Range("A1:N" & UBound(veriler, 1)).Value = veriler
    wb.Save
    wb.Close
    Set xl = Nothing
    Application.ScreenUpdating = True
End Sub
Murat Hocam her ne yaptımsa çalıştıramadım bu kodu sizde dosya.tc ye yükleyebilir misiniz? nerede hata yapıyorum yada yanlış yapıyorum görsem
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
İki dosyanında aynı klasörde olması gerekiyor.
Farklı Listesi dosyası başka klasörde ise (C:\DENEMEolsun)
Set wb = xl.Workbooks.Open(ThisWorkbook.Path & "\FARKLI LİSTE.xlsx")
Set wb = xl.Workbooks.Open("C:\DENEME\FARKLI LİSTE.xlsx") olarak değiştirmeniz gerekir.

Ben de çalışan dosyayı yükledim.
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Sub getir()

Set con = VBA.CreateObject("adodb.Connection")
Set cat = CreateObject("ADOX.Catalog")

'Set klasor = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasor seçin !", 1)
Cells.ClearContents

Dim bir As Object
Set bir = CreateObject("scripting.filesystemobject")
yol = ThisWorkbook.Path
Set klasor = bir.getfolder(yol)
For Each dosyalar In klasor.Files
If Not dosyalar.Name Like "*xlsm*" Then
If dosyalar.Name Like "*xls*" Then

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & "\" & dosyalar.Name & ";extended properties=""Excel 12.0;hdr=yes"""

cat.ActiveConnection = con
syf = Replace(cat.tables.Item(0).Name, "'", "")

sorgu = "select * from[" & syf & "A1:H20]"
Set rs = con.Execute(sorgu)
son = Cells(Rows.Count, "a").End(3).Row + 1
Range("A" & son).CopyFromRecordset rs
con.Close
End If
End If
Next
End Sub


Murat Hocam bu makroyu bu siteden Erdem_34 üstad hazırlamış eline sağlık. Bu kodlama da aynı klasör içindeki excel listelerini birleştiriyor 30 dk kadar önce buldum ve gayet güzel çalışıyor. Şimdilik işimi de görüyor. Ancak sizin yüklediğiniz çalışmayı indirdim sanırım GÜNCEL VERİ DOSYASI benim gönderdiğim zira içinde sizin kodlarınız yok sizin çalışma yaptığınız değil gibi FARKLI LİSTE ise sizin çalışma yaptığınız sanırım bir karışıklık oldu. Çok teşekkür ediyorum vaktinizi ayırdığınız için. Kontrol eder misiniz?
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam çok güzel emeğine sağlık çok sağol burda şöyle bir durum daha var yukarıda da yazdım örnek içerisinde de var bu yaptığın formül 1 kitaptan diğerine veri gönderiyor çokta sağlıklı ancak diyelim ki A kitabına aynı formatı kullanan B C D kitaplarından veri gelecek asıl problem bu çalışman çok güzel bunun benzerlerini veri bağlantısından falan da denedim. 1 kitaba üç dört farklı kaynaktan veri gönderebilmek çok zor gibi Erdem hocamın yukarıda ki formülü aynı klasör içerisinde ne kadar EXCEL listesi varsa hepsinden veri çekiyor ve listeliyor ben bunun tam aksini arıyorum aslında 4 5 excel kitabından tek bir excel kitabına veri gönderebilmek. ELLERİNE SAĞLIK ALLAH RAZI OLSUN
 
Üst