• DİKKAT

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

Ctrl+V sonrası kalan satırları silmek

  • Konbuyu başlatan Konbuyu başlatan o2l3m
  • Başlangıç tarihi Başlangıç tarihi

o2l3m

Altın Üye
Katılım
2 Mart 2005
Mesajlar
156
Excel Vers. ve Dili
Microsoft® Excel ® 2016 (16.0.5413.1000) MSO (16.0.5413.1000) 32 bit
Kopayala yapıştır yapılan sayfamda arda kalan satırları sürekli manuel temizlemek zorunda kalıyorum
Bunun için kod mümkün müdür?
 

Ekli dosyalar

Lütfen yardım. Çok mu zor acaba?
 
Son düzenleme:
Bu konuda destek verebilecek arkadaş yokmu?
 
Silinecek alan değişken olabilir demişsiniz. Silinecek alandaki veriler yukardakilerle benzer. Sizin istediğiniz manuel olmaz..
 
Üzerine yapıştır diyorum. Altta seçilmemiş alan hiçbir şekilde işime yaramıyor. Ve bu içerik basit bir kod ile silinebilir diye düşünüyorum.
 
Kopyalama yapmadan önce sayfayı temizletin sonra kopyalama yapın. Tabii ki bu çok basit bir cevap oldu ama bana kopyalamayı nerden ve nasıl yaptığınızı anlatırsanız her türlü çözeriz basit cevap içinde kusuruma bakmayın ayrıntı olmayınca elimde bende en basit şekli ile cevapladım
 
yapıştırılan alan sabit mi peki? sürekli B2 : D23 alanına mı veri yapıştırıyorsunuz?
 
Yapıştırılan alan sürekli değişmektedir. Sütun sayıları sabit. Satırlarda artan satırlar olmaktadır.
 
Kopyalama yapmadan önce sayfayı temizletin sonra kopyalama yapın. Tabii ki bu çok basit bir cevap oldu ama bana kopyalamayı nerden ve nasıl yaptığınızı anlatırsanız her türlü çözeriz basit cevap içinde kusuruma bakmayın ayrıntı olmayınca elimde bende en basit şekli ile cevapladım

Kopyalanan excel Sap de açılan geçici bir excel sayfasıdır.
Yapıştırılan alan sürekli değişmektedir. Sütun sayıları sabit. Satırlarda artan satırlar olmaktadır.
 
Merhaba,

Yapıştırma işlemini yaptıktan sonra seçili alandan çıkmadan şunları yapabilirsiniz;

1 - SHIFT+TAB tuşlarına basın [Seçili alanın son hücresine odaklanacaktır.]
2 - "AŞAĞI OK" tuşuna basın [Seçili alandan çıkarak bir alt satıra geçecektir.]
3 - CTRL+SHIFT+"AŞAĞI OK" tuşlarına ve ardından CTRL+SHIFT+"SOL OK" tuşlarına basın [B-D sütununda Altta kalan dolu hücreleri seçecektir.]

Artık seçilen hücreler ne kadar uzun olursa olsun seçiminiz sağlanacağından silme işlemini bu yöntemle hızlı bir şekilde gerçekleştirebilirsiniz.

*Kod bilgim olmadığından Makro kaydet yolu ile yaptığımda hücreler sabit kaldığından revize edemedim.

Talep ettiğiniz kod yazılana kadar işlemlerinizi hızlı bir şekilde gerçekleştirebilmeniz için öneri olarak yazılmıştır.

iyi çalışmalar.
 
Merhaba
İnanın bu yaptığım bir işlem. Bu kopyala yapıştır sürekli yaptığım için kalan satırları silmek can sıkıcı bir hale geldi. Umarım kod desteği gelir.
 
Merhaba dostum
Kısa bir çalışmadan sonra sana makrolu bir çözüm buldum. VBA penceresine gir bir modül ekle aşağıdaki makroyu kopyala. Daha sonra istediğin veriyi kopyala ve bu dosyada istediğin bir yere kopyala , seçili alanı hiç bozmadan yani yapıştırma işlemini yaptıktan sonra her hangi bir hücre seçmeden direkt Alt+F8 tuşu ile makroyu çalıştır


Sub deneme()
Dim memory As Variant
memory = Selection.Value
Range("A:Z").ClearContents
Selection.Value = memory
End Sub
 
Ok bu bir çözüm oldu. Peki modül içeriğindeki bu kodları yapıştırma sonrası otomatik çalışmasını nasıl yapabilirim.
Ben bir kaç yöntem denedim başarılı olamadım.

Bunlar,
if, active sheet range,active sheet select value gibi yöntemlerle beceremedim.
 
Ekteki örnek dosyayı deneyiniz.

Yapıştırma işleminden sonra F12 tuşuna basıp sonucu gözlemleyiniz.
 

Ekli dosyalar

Korhan Bey
Teşekkür ediyorum. Ufak bir sorun var. Benim D Sütunundan sonraki sütunlarda formüller var.
D sütununa kadar satır silme yapılabilir mi?




Örnek deneme dosyasında sayfa2deki B2:D30 aralığını sayfa1de C1 hücresine yapıştır gibi[/QUOTE]
Ekteki örnek dosyayı deneyiniz.

Yapıştırma işleminden sonra F12 tuşuna basıp sonucu gözlemleyiniz.
 
"Sil" makrosunu aşağıdaki gibi değiştirip deneyiniz.

Kod:
Sub Sil()
    Satir = Evaluate("=MAX(ROW(" & Selection.Address & "))")
    If Satir > 1 Then Range("A" & Satir + 1 & ":D" & Rows.Count).Delete xlUp
End Sub
 
Korhan Bey;

Çok teşekkrüler. Dosyayı aşağıdaki şekilde revize ettim. Kodları sayfaya yazarak şu şekilde güncelledim.
Çok yararlı oldu. Umarım ihtiyacı olanlarında işine yarar.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b2]) Is Nothing Then Exit Sub

    Satir = Evaluate("=MAX(ROW(" & Selection.Address & "))")
    If Satir > 1 Then Range("A" & Satir + 1 & ":D" & Rows.Count).Delete xlUp

End Sub
 

Ekli dosyalar

Geri
Üst