Çözüldü Hücredeki veriyi, bulup ilgili satırı başka sayfaya aktarma

Katılım
5 Ekim 2023
Mesajlar
14
Excel Vers. ve Dili
Excel 365 - İngilizce
Merhaba,

Bir hücrede yazan veriyi aynı sayfada bulunan bir tablodan bulup ilgili satırı başka bir sayfaya aktarıp, kopyaladığı yerdeki satırı kaldırmak istiyorum.

Daha detayla anlatmam gerekirse;

F7 hücresinde Ali yazıyor. Altındaki C11:M100 aralığı olan tabloda Ali'ye ait bilgileri içeren bir satır var. Ben butona bastığım zaman tabloda F7 hücresinde yazan "Ali" ye veya listede olan herhangi bir isime ait satırı kopyalayıp başka bir sayfaya aktaracak ve kopyaladığı satırları tamamen silecek.

Şimdiden yardımlarınız için teşekkür ederim.
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Sayfa1 ali'nin yazılı olduğu sayfa, sayfa2 aktarılan sayfa.
Bu isimleri kendi dosyanıza göre uyarlayın.
Kod:
Sub aktar()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set bul = s1.Range("C11:M100").Find(s1.Range("F7"))
s1.Rows(bul.Row).Copy s2.Range("A" & (s2.Cells(Rows.Count, 3).End(3).Row + 1))
s1.Rows(bul.Row).Delete
End Sub
 
Son düzenleme:
Katılım
5 Ekim 2023
Mesajlar
14
Excel Vers. ve Dili
Excel 365 - İngilizce
Yukardaki kodları ismi F7 den alacak şekilde değiştirdim.
Yardımınız için teşekkür ederim.

Birkaç problemim var.

1-) değeri bulduktan sonra tüm satırı taşıdığı için tablonun dışında kalan düzenlemeleri bozuyor. Taşınmasını istediğim verileri içeren tablo C11:M100 arasında. Sadece bulduğu değere ait satırı taşıması gerekiyor. Yani değeri bulduktan sonra hangi satırdaysa Örneğin C11:M11 arasını taşımalı.

2-) aktardığı sayfada verileri yapıştırması gereken tabloda B3 ile bağlayıp L sütünuna kadar devam etmektedir.
 
Son düzenleme:
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Aranan isim hep aynı sütunda mı oluyor.
Daha doğrusu biraz veri işlenmiş bir örnek dosyayı tcdosya gibi bir dosya paylaşım sitesine ekleyerek link bitirirsen daha çabuk sonuç nalırsın.
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Kod:
s1.Rows(bul.Row).Delete
Yukarıdaki satır yerine aşağıdaki satırı yazarak deneyin
Kod:
s1.Range("C" & bul.Row & ":M" & bul.Row).Delete
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Yok, yanlış olmuş, Tablo olduğunu fark etmemişim doğru kod aşağıda
Kod:
s1.Range("C" & bul.Row & ":M" & bul.Row).ListObject.ListRows(bul.Row - 10).Delete
 
Katılım
5 Ekim 2023
Mesajlar
14
Excel Vers. ve Dili
Excel 365 - İngilizce
Yok, yanlış olmuş, Tablo olduğunu fark etmemişim doğru kod aşağıda
Kod:
s1.Range("C" & bul.Row & ":M" & bul.Row).ListObject.ListRows(bul.Row - 10).Delete
Diğer kodda çalışmıştı ama benim göremediğm birşey var sanırım :) Çok teşekkür ederim.

Silme kodunu başka bir sayfaya da uygulamak istersem yukarıdaki kodun sayfa numarasını değiştirmem yeterli olur mu?
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Kod:
Set s1 = Sheets("Sayfa1")
Eğer verilerin aktarılıp, sonra o satırın silinecek diğer sayfanın da formatı aynı fakat aktarılacak sayfa aynı (yani Sayfa2 ) ise.
Yukarıdaki satırdaki sayfa ismini değiştirmeniz gerekir.
 
Katılım
5 Ekim 2023
Mesajlar
14
Excel Vers. ve Dili
Excel 365 - İngilizce
Kod:
Set s1 = Sheets("Sayfa1")
Eğer verilerin aktarılıp, sonra o satırın silinecek diğer sayfanın da formatı aynı fakat aktarılacak sayfa aynı (yani Sayfa2 ) ise.
Yukarıdaki satırdaki sayfa ismini değiştirmeniz gerekir.
Şunu demek istedim. aktarma işleminden sonra 2 farklı sayfadan aynı veriyi bulup silecek.
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Örnek dosya olunca daha kolay olur. Bu iki sayfadaki veriler aynı mı farklı ise iki kere mi aktarma yapılacak
 
Katılım
5 Ekim 2023
Mesajlar
14
Excel Vers. ve Dili
Excel 365 - İngilizce
Örnek dosya olunca daha kolay olur. Bu iki sayfadaki veriler aynı mı farklı ise iki kere mi aktarma yapılacak
Örnek Dosya 3

Dosyaya eklediğim sayfa3 ile mevcut sayfa1 deki veriler aynı olacak. Nasıl sayfa 1 den aktardıktan sonra ilgili satırı kaldırıyorsa sayfa 3 te de ilgili satırı kaldıracak. Tekrar aktarma işlemi yapmayacak.
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Herhalde böyle
Kod:
Sub aktar()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set s3 = Sheets("Sayfa3")
Set bul = s1.Range("D10:D" & s1.Cells(Rows.Count, 4).End(3).Row).Find(s1.Range("F4"))
Set bul1 = s3.Range("D10:D" & s3.Cells(Rows.Count, 4).End(3).Row).Find(s3.Range("F4"))
s1.Range("C" & bul.Row & ":M" & bul.Row).Copy s2.Range("B" & s2.Cells(Rows.Count, 2).End(3).Row + 1)
s1.Range("C" & bul.Row & ":M" & bul.Row).ListObject.ListRows(bul.Row - 10).Delete
s3.Range("C" & bul1.Row & ":M" & bul1.Row).ListObject.ListRows(bul1.Row - 10).Delete
End Sub
 
Üst