Çözüldü Sürekli "Kopyala-Yapıştır" yerine;

Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
1. Sayfaya ne yazarsam 2. sayfada istediğim kısma da onun geçmesini istiyorum. Excel'de detaylı verilmiştir. Örnek olarak sundum, ben kendim başka yere de taşıayabileceğim bir şey olsun istiyorum.
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Örneğe göre aşağıdaki kodları kullanabilirsiniz.

Aşağıdaki kodu "BURADAN" sayfasının kod kısmına kopyalayın.
Açıklamalar umarım olayı anlamanıza yardımcı olur.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:D15")) Is Nothing Then Exit Sub
    'Eğer değiştirilen hücre adresi "A1:D15" aralığı dışındaysa aşağıdaki kodları çalıştırma.
    Worksheets("BURAYA").Cells(Target.Row + 5, Target.Column + 3) = Target.Value
    'Target.Row + 5 : Değişiklik yapılan hücrenin 5 hücre alt satırına
    'Target.Column + 3 : Değişiklik yapılan hücrenin 3 hücre sağındaki sütununa
    'Anlamına gelmektedir.
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Bugün 3. defadır işini yaptırmak için değil de öğrenmek için soru sorulduğuna şahit oldum.
Ben şahsen böyle sorulara cevap vermekten büyük keyif alıyorum.

Öğrenmeye çalıştığınız için teşekkür ediyorum.
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Merhaba.

Örneğe göre aşağıdaki kodları kullanabilirsiniz.

Aşağıdaki kodu "BURADAN" sayfasının kod kısmına kopyalayın.
Açıklamalar umarım olayı anlamanıza yardımcı olur.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:D15")) Is Nothing Then Exit Sub
    'Eğer değiştirilen hücre adresi "A1:D15" aralığı dışındaysa aşağıdaki kodları çalıştırma.
    Worksheets("BURAYA").Cells(Target.Row + 5, Target.Column + 3) = Target.Value
    'Target.Row + 5 : Değişiklik yapılan hücrenin 5 hücre alt satırına
    'Target.Column + 3 : Değişiklik yapılan hücrenin 3 hücre sağındaki sütununa
    'Anlamına gelmektedir.
End Sub
Bunu nereye, nasıl çalıştırıcam bilgi verir misiniz ? İlk kez uygulayacağım da..
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kodları "BURADAN" sayfasının kod kısmına kopyalayın.

"BURADAN" sayfasını sağ tıklatın "Kod Görüntüle" seçin.

Açılan sayfaya yapıştırın..
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
dalgalikur,

Kendi tabloma uygulamaya çalışıyorum fakat "Run-time error '9': Subscript out of range" hatası verdi.
Kodda o kadar açıklama yapmanıza rağmen beceremedim :(

Benim bunu uygulamak istediğim yer filtreledikten sonraki çıkan veriler için.
Mesela tablo A2 den başlıyorsa filtre uygulayınca başlanılan yer A12 oluyor. Bu durumda nasıl bir yol izlemeliyim ?
Örnek ekledim fakat biraz anlayışsın oldu gibi..
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Hata şu satırdan kaynaklanıyor.
Worksheets("V2").Cells(Target.Row + 5, Target.Column + 3) = Target.Value
Buradaki Worksheets("V2") V2 sayfası demek. Ancak dosyada V2 adında bir sayfa olmadığı için hata veriyor.
Worksheets("BURAYA") yazmalısın yani tam olarak aşağıdaki gibi.
Worksheets("BURAYA").Cells(Target.Row + 5, Target.Column + 3) = Target.Value
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Merhaba,

( VERİLER sayfasındaki verileri DENEME sayfasına kopyalayarak yorum yapıyorum; )

VERİLER sayfasında filtre oluşturulduğu için aradaki sayılarıda DENEME sayfasına atıyor koyuyor..
Ki, bir de el ile yazıldığı takdir de kopyalıyor DENEME sayfasına..

Ben VERİLER'e de kopyala-yapıştır ile yapıştırıyorum. Filtreleyip kalan kısmı orada aktarmak istiyorum. Fakat bu kod ile mümkün değil sanırım..
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Ben sorunu anlayamadım.
Konuyu toparlayıp daha iyi anlayabileceğim şekilde bir örnek dosya ile sorunuzu sorarsanız belki de sorun çok daha farklı bir yöntem ile çözülebilir.
Onun için siz çözüm yöntemine değil de soruya-soruna odaklanarak sorunuzu sorun.
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Günaydın, Örnek-2'de örnek var fakat biraz sıkıntılı :)
Tekrar düzenleyip açıklayarak Örnek-3 atıyorum.

BURADAN sayfasındaki gibi verilerim mevcut RENK kısmındaki sayılara göre filtre oluşturuyorum (sadece 2 yazanlar kalacak).
8 satır veri kalıyor elimizde. Buradaki verileri BURAYA sayfasına ortada her hangi bir yere geçirmek istiyorum. (Kendime göre ayarlayabilmem için)

Umarım anlatabilmişimdir..

DİPNOT: Verdiğiniz kodda el ile girişlerde diğer sayfaya geçiriyor sanırım ben öyle anladım, kopyala yapıştır yapıldığında geçirmiyor.)
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Dosyanız ekte.
Filtre yapıldıktan sonra "Kopyala" butonuna basılarak kopyalama işlemi yapılabilir.
 

Ekli dosyalar

Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Merhaba.
Dosyanız ekte.
Filtre yapıldıktan sonra "Kopyala" butonuna basılarak kopyalama işlemi yapılabilir.
Çok teşekkür ederim :)

Peki ben bunu ilk örnektekiler gibi 5 satır aşağı, 3 satır sağa gibi yere koymak istesem kodda nasıl bir değişiklik yapabiliriz ?

Private Sub btnKopyala_Click()
Dim SonSatir As Long
SonSatir = Cells(Rows.Count, "A").End(3).Row
Worksheets("BURAYA").Cells.Clear
Range("A1:K" & SonSatir).Copy Worksheets("BURAYA").Range("A1")
End Sub
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Çok teşekkür ederim :)

Peki ben bunu ilk örnektekiler gibi 5 satır aşağı, 3 satır sağa gibi yere koymak istesem kodda nasıl bir değişiklik yapabiliriz ?
Buldum Range("A1") kısmından :) Peki bu kopyala butonunu nasıl yaptınız ?
Kendimde buna benzer sayfalara oluşturmak istesem nasıl yapabilirim ?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Bu çok genel bir soru.
Excel Dersanesi bölümünde kodlar ile ilgili bir çok yardım var küçük uygulamalar var onları inceleyerek başlayabilirsiniz.
Excel Dersanesi bölümü çok değerli bilgiler içeriyor.
Foru ana sayfasından yada buraya tıklayarak Excel Dersanesine ulaşabilirsiniz.
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Bu çok genel bir soru.
Excel Dersanesi bölümünde kodlar ile ilgili bir çok yardım var küçük uygulamalar var onları inceleyerek başlayabilirsiniz.
Excel Dersanesi bölümü çok değerli bilgiler içeriyor.
Foru ana sayfasından yada buraya tıklayarak Excel Dersanesine ulaşabilirsiniz.
Butonu kendi dosyama kopyaladım. Sağ tuş kodu görüntüle dedim. Düzenleme yaparken kodu mu bozdum acaba ?
Veriyi alacağım yer: A4:H sonsuz satır
Veriyi kopyalayacağı yer: V2 sayfa adı ile H3:O den başlayıp aşağı doğru sonsuza..

Private Sub btnKopyala_Click()
Dim SonSatir As Long
SonSatir = Cells(Rows.Count, "A").End(3).row
Worksheets("V2").Cells.Clear
Range("A4:H" & SonSatir).Copy Worksheets("V2").Range("H3")
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Butonu kopyaladığın sayfa adını sağ tıklatıp "Kod Görüntüle" seç.
"General" yazan listeden butonun ismini bulup seç.
Buton ismi "btnKopyala" olmalı değilse "CommandButton1" dir.
Seçtikten sonra

Kod:
Private Sub btnKopyala_Click()

End Sub
şeklinde otomatik kod oluşmuş olacak.
Bu iki satır kodun arasına aşağıdaki kodları kopyala.
Kod:
Dim SonSatir As Long
SonSatir = Cells(Rows.Count, "A").End(3).row
Worksheets("V2").Cells.Clear
Range("A4:H" & SonSatir).Copy Worksheets("V2").Range("H3")
Şimdi butona basınca kodlar çalışması lazım.
 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Butonu kopyaladığın sayfa adını sağ tıklatıp "Kod Görüntüle" seç.
"General" yazan listeden butonun ismini bulup seç.
Buton ismi "btnKopyala" olmalı değilse "CommandButton1" dir.
Seçtikten sonra

Kod:
Private Sub btnKopyala_Click()

End Sub
şeklinde otomatik kod oluşmuş olacak.
Bu iki satır kodun arasına aşağıdaki kodları kopyala.
Kod:
Dim SonSatir As Long
SonSatir = Cells(Rows.Count, "A").End(3).row
Worksheets("V2").Cells.Clear
Range("A4:H" & SonSatir).Copy Worksheets("V2").Range("H3")
Şimdi butona basınca kodlar çalışması lazım.
Çalıştı usta teşekkür ederim fakat; o sayfada başka verilerde vardı onlarında kalması gerekiyordu onlar gitti ama kopyaladı :)
Oradaki veriler kalsa, sadece istediğim yere kopyalasa olabiliyor mu ?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
O zaman şu satırı sil.


Worksheets("V2").Cells.Clear

 
Katılım
13 Aralık 2018
Mesajlar
105
Excel Vers. ve Dili
Microsoft 365 | Türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
O zaman şu satırı sil.


Worksheets("V2").Cells.Clear

Çok güzel oldu valla, emeğine sağlık :)
Peki başka bir yerde de deniyorum orada da formülleri çekmiyor bunun sebebi ne ?
Mesela Düşeyaraları çekiyor, direk =$P$14 şu hücreyi al dediğim yeri çekmiyor ?

* I hücresindeki yeri 00 olarak alıyor.
* E hücresindeki formül =BİRLEŞTİR($N$14;" GELEN MAL") orayı da sadece " GELEN MAL" olarak alıyor.. (ARALIK yazmıyor)

1548250202101.png
(Buradaki verileri kopyalayacak)
 
Üst