Birden fazla sayfadan başka bir sayfaya verileri alt alta nasıl aktarabiliriz?

Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Forum Paylaşanları,

Benim sorum şu:
Sayfa1 ve Sayfa 2 den Sayfa3 e veri aktarmak. Bu veriler aktarılırken Sayfa1' in 1.satırında Adan F ye kadar olan kısım Safya 3'ün yine aynı koordinatına yani 1. Satırının A ile F arsına aynen satırı aktaracak. Buraya kadar sorun yok. Ancak aynı işlem, Sayfa 2 den yapılacak ve daha önce yaratılmış olan Sayfa1 den aktarılanı silmeden bir sonraki sıraya aktaracak. Bu böyle gidecek ve benzer şekilde Sayfa2 den aktarılan satırları Sayfa1 den aktarılanlar silmeyecek ya da yerine geçmeden sırayla yukarıdan aşağıya sıralayacak. Bunun makrosu nasıl yazılabilir. Teşekkür ediyor saygılar sunuyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Aşağıdaki kodları bir modüle yapıştırıpdeneyebilirsiniz.:cool:
Sayfa3'e aktarır.
Kod:
Sub aktar()
Dim i As Long, sat As Long, k As Long
Sheets("Sayfa3").Select
Range("A1:F65536").ClearContents
sat = 1
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
    If Worksheets(i).Name <> "Sayfa3" Then
        For k = 1 To Sheets(i).Cells(65536, "A").End(xlUp).Row
            adr1 = Range(Cells(i, "A"), Cells(i, "F")).Address
            adr2 = Range(Cells(sat, "A"), Cells(sat, "F")).Address
            Range(adr2).Value = Sheets(i).Range(adr1).Value
            sat = sat + 1
        Next k
    End If
Next i
Application.ScreenUpdating = True
MsgBox "AKTARMA TAMAMLANDI..", vbOKOnly + vbInformation
End Sub
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Merhaba Say&#305;n Orion2, dedi&#287;inizi yapt&#305;m ancak Sayfa2 den de aktarma yapaca&#287;&#305;z ve bu aktar&#305;lan sat&#305;rlar yine sayfa 3'&#252;n eski verilerini silmeden her defas&#305;nda daha &#246;nce aktar&#305;lan sat&#305;rdan a&#351;a&#287;&#305;ya do&#287;ru aktarmalar&#305; yapacak. Sayfa1 ve sayfa2 de girilen her sat&#305;r sayfa 3 de s&#305;ralanack ve eski aktar&#305;lanlar&#305; silmeyecek bir sonras&#305;ndan bunu ger&#231;ekle&#351;tirecek.
Sayg&#305;lar&#305;mla
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayfa1 ve sayfa 2 den aktarılan sıralar Sayfa 3 e alt alta nasıl aktarılacak?

Merhaba Sayın Orion2, dediğinizi yaptım ancak Sayfa2 den de aktarma yapacağız ve bu aktarılan satırlar yine sayfa 3'ün eski verilerini silmeden her defasında daha önce aktarılan satırdan aşağıya doğru aktarmaları yapacak. Sayfa1 ve sayfa2 de girilen her satır sayfa 3 de sıralanack ve eski aktarılanları silmeyecek bir sonrasından bunu gerçekleştirecek.
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki kodları denermisiniz?.:cool:
Kod:
Sub aktar()
Dim i As Long, sat As Long, k As Long
Sheets("Sayfa3").Select
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
    If Worksheets(i).Name <> "Sayfa3" Then
        sat = Cells(65536, "A").End(xlUp).Row + 1
        For k = 1 To Sheets(i).Cells(65536, "A").End(xlUp).Row
            adr1 = Range(Cells(k, "A"), Cells(k, "F")).Address
            adr2 = Range(Cells(sat, "A"), Cells(sat, "F")).Address
            Range(adr2).Value = Sheets(i).Range(adr1).Value
            sat = sat + 1
        Next k
    End If
Next i
Application.ScreenUpdating = True
MsgBox "AKTARMA TAMAMLANDI..", vbOKOnly + vbInformation
End Sub
 
Son düzenleme:
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Orion2 Selam
Öncelikle teşekkür ediyorum konuma ilgi gösterip cevap yazdığınız için. Zamanınızı alıyorum ama sanıyorum ben anlatamadım iyi bir şekilde. Makronuzu yazdım ve uyguladım Ama Sayfa2 verisini Sayfa 3 e sayfa 1 den olduğu gibi aktaramıyorum.
Şöyleki tekrar özetlesrsem:
Sayfa1 ve Sayfa2 verilerin aktarıldığı sayfalarım. Sayfa 3 ise bu sayfalardan aktarılan her yeni satırın alt alta satırlar halinde aktarıldığı yer. Sayfa 3'e ister Sayfa1 den ister sayfa 2 den olsun her eklenen yeni satır bir düğme ile, ki bu kısmı farklı bir yöntemle de olabilir... (herhangibir hücre üzerien çift tıklamak gibi.. bu hiç farketmez) Sayfa 3'e birbirini takip eden sıra ile, her defasında bir önce girilenin altından, devam edebilecek şekilde aktarılacak. Bu şu anlama da geliyor. Aktarılan ister 2. sayfadan olsun ister 1. sayfadan bir önce aktarılanı silmeyecek ya da üstüne aktarma yapmayacak. Bu duruma göre bana yardımcı olabilirseniz çok sevineceğim.
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Orion2 Selam
Öncelikle teşekkür ediyorum konuma ilgi gösterip cevap yazdığınız için. Zamanınızı alıyorum ama sanıyorum ben anlatamadım iyi bir şekilde. Makronuzu yazdım ve uyguladım Ama Sayfa2 verisini Sayfa 3 e sayfa 1 den olduğu gibi aktaramıyorum.
Merhaba bu koyu yazılan metni anlayamadım.:cool:
Yeni düzenlediğim dosyada sayfa1deki ve sayfa 2 deki veriler alt alta aktarılıyordu.:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Merhaba,iyi akşamlar.
Koyu olan kısım nasıl olmuş bilmiyorum. Ama ben dosyada uyguladım ve yapamadım. Ekte size gönderiyorum. Sayfa 3 aktarmalar alt alta gerçekleşmesi nasıl olabilecek?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Sayı girdap dosyanız ekte.:cool:
Kod:
Sub aktar()
Dim i As Long, sat As Long, k As Long
Sheets("Sayfa3").Select
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
    If Worksheets(i).Name <> "Sayfa3" Then
        sat = Cells(65536, "A").End(xlUp).Row + 1
        For k = 1 To Sheets(i).Cells(65536, "A").End(xlUp).Row
            adr1 = Range(Cells(k, "A"), Cells(k, "F")).Address
            adr2 = Range(Cells(sat, "A"), Cells(sat, "F")).Address
            Range(adr2).Value = Sheets(i).Range(adr1).Value
            sat = sat + 1
        Next k
    End If
Next i
Application.ScreenUpdating = True
MsgBox "AKTARMA TAMAMLANDI..", vbOKOnly + vbInformation
End Sub
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Orion2 selam, iyi akşamlar.

çok teşekkür ediyorum. Yöntemi biraz genişletip daha farklı bir tabloda geliştirmek istedim ama onu başaramadım. Şuan makro forumu içersinde cevaplayanamayan sorum bununla ilgili ve bana yardımcı olduğunuz konunun bir devamı. Bakabilir misiniz?
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Orion2 selam, iyi ak&#351;amlar.

&#231;ok te&#351;ekk&#252;r ediyorum. Y&#246;ntemi biraz geni&#351;letip daha farkl&#305; bir tabloda geli&#351;tirmek istedim ama onu ba&#351;aramad&#305;m. &#350;uan makro forumu i&#231;ersinde cevaplayanamayan sorum bununla ilgili ve bana yard&#305;mc&#305; oldu&#287;unuz konunun bir devam&#305;. Bakabilir misiniz?
Sayg&#305;lar&#305;mla
Benim size yolad&#305;&#287;&#305;m dosyada 1den fazla Sayfaya bir butona basarak aktarma yapabiliyordunuz.
&#350;imdi ne gibi bir de&#287;i&#351;iklik yapmak istiyorsunuz?:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Merhaba,

önceki uygulamamız tıklama sonrası daha önceden girilmiş olan verileri koruyordu, ancak yeni girilenleri eskilerle birlikte aktarıp bilgilerin tekrar girilmesine neden oluıyordu. Bunun önüne geçmek istiyorum.Bir de aktaracağımız satırları bir düğme ile deil de ilgili hücreye çift tıklayarak yapmak istiyorum. Bunun için :

rivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
Application.ScreenUpdating = False
For n = 1 To Worksheets.Count
Sayfa_Adi = Cells(ActiveCell.Row, Kolon).Value 'Çift Tıklanan Satırın A sütununun Adını Sayfa_Adi değişkenine aktarılıyor
If Sayfa_Adi = "" Then Exit Sub 'Boş Satırda çift tıklandığında işlemi dikkate alma

Var = 0 ' Var değişkenine Sıfır Atanıyor
Adet = 0 'Adet değişkenine Sıfır değeri atanıyor
For i = 1 To Worksheets.Count 'Daha önce sayfa varsa onun kontrolünün döngüsü
If Sheets(n).Name = Sayfa_Adi Then 'eşitliği kontrol ediliyor
Var = 1 'Eşitse Var değişkenine 1 Atanıyor
Exit For 'Döngüden çıkış sağlanıyor
End If 'Karşılaştırmanın Sonu
Next
şeklinde bir başlangıçla bunu yapmak istedim ama yapamadım. Burda tıklanan hücre kendi adına bir sayfası yoksa onu oluşturarak bu kaydı yapmak istiyor.

Saygılarımla
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Sub aktar()
korunacak sayfa = Sayfa1!a1
...............
For i = 1 To Worksheets.Count
    If Worksheets(i).Name <> korunacak sayfa Then
.................
    End If
Next i

End Sub
Bende Benim korumak istediğim sayfa ile Çalışma kitabındaki diğer sayfaları nasıl karşılaştrırım diye düşünüyordum.
Arama yaparken satır arasında cevabı buldum teşekkürler.

Yalnız iki sorum var;
Application.ScreenUpdating = True Ne anlama gelmektedir.
Worksheets(i).Name sayfasını sorgusuz silmek için ne yapılacak (bu açlışma sayfası değer içerebilir eminmisiniz gibi sorusunu sormayacak)

Saygılarımla
 
Katılım
16 Ağustos 2008
Mesajlar
18
Excel Vers. ve Dili
2007
merhabalar
bende buna benzer bı uygulama yapmak ıstıyorum. benım uygulamamda farklı dosyalar olucak mesela veri dosyasının a1 de yazanı data dosyasının c1 ne yapacak. veri dosyasındda a1 de yazan sayı degıstıgınde onu datada c2 ye yazacak.. veri dosyası tek bı dosya ve sureklı ıcınde yazan datalar degısıcek. data dosyasında ise değişen dataları alt altta sıralayabılıcem
bunu nasıl yapabılırm . ekte ıkı dosya mevcut fakat veridekileri hep datada aynı yere yazıyo ben alt satırına yazmasını ıstıyorum
 

Ekli dosyalar

Üst