• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

UysalMuzaffer

Altın Üye
Katılım
13 Aralık 2018
Mesajlar
117
Excel Vers. ve Dili
Microsoft 365
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

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
 
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.
 
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..
 
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..
 
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

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
 
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

  • 1548168725054.png
    1548168725054.png
    203 KB · Görüntüleme: 11
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.
 
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

Merhaba.
Dosyanız ekte.
Filtre yapıldıktan sonra "Kopyala" butonuna basılarak kopyalama işlemi yapılabilir.
 

Ekli dosyalar

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
 
Ç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 ?
 
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.
 
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
 
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.
 
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 ?
 
O zaman şu satırı sil.

Worksheets("V2").Cells.Clear
 
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)
 
Geri
Üst