Yalnızca görünen satırlar

Katılım
12 Ağustos 2009
Mesajlar
25
Excel Vers. ve Dili
2007
Elimde bazı satırları gizlenmiş bir liste var. Ben sadece görünen satırları kesmek istiyorum ama "özel git - yalnızca görünen hücreler" seçeneğini seçtiğimde kesme işlemi yapamıyorum. Mecbur kopyalayıp sonrada kopyaladığım satırları silmem gerekiyor. Yalnızca görünen satırları kesmenin bir yolu varmı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Makro ile satırları tek tek kes yapıştır yapabilirsiniz.
 
Katılım
12 Ağustos 2009
Mesajlar
25
Excel Vers. ve Dili
2007
Korhan Bey ilginiz için çok teşekkür ederim. Şu an makro yazmayı yeni yeni öğreniyorum söylediğiniz gibi bir makro yazacak bilgiye sahip değilim. Bilgisayarım dosya yükle dediğimde hata veriyor ve şu an elimdeki excel dosyasını bu mesaja ekleyemiyorum. Rica etsem makro kodlarını bana yollayabilir misiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu kullanabilirsiniz.

Sayfa1 A sütunundaki filtre sonucu görünen hücreleri Sayfa2 A sütununa 2. satırdan itibaren kes-yapıştır yapar.

Kod:
Option Explicit
 
Sub GÖRÜNÜR_HÜCRELERİ_KES_YAPIŞTIR()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim Hücre As Range, Satır As Long, Son_Satır As Long
 
    Set S1 = Sheets("Sayfa1")
    Set S2 = Sheets("Sayfa2")
 
    Satır = 2
 
    S2.Columns(1).ClearContents
 
    Son_Satır = S1.Range("A65536").End(3).Row
 
    If S1.AutoFilter.Filters.Item(1).On Then
        For Each Hücre In S1.Range("A2:A" & Son_Satır).SpecialCells(xlCellTypeVisible)
            Hücre.Cut S2.Cells(Satır, 1)
            Satır = Satır + 1
        Next
 
        MsgBox "İşleminiz tamamlanmıştır", vbInformation
 
    Else
 
        MsgBox "Filtre aktif değil !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical
    End If
End Sub
 
Katılım
12 Ağustos 2009
Mesajlar
25
Excel Vers. ve Dili
2007
Korhan Bey,
Yazdığınız makroyu çalıştırdım gayet güzel çalışıyor. Elinize sağlık. Acaba Sayfa1 deki A sütunundaki filtre sonucu görünen satırlarda A sütunundan L sütununa kadar olan bilgileri Sayfa2 ye kes-yapıştır yapabilir miyiz?
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Elimde bazı satırları gizlenmiş bir liste var. Ben sadece görünen satırları kesmek istiyorum ama "özel git - yalnızca görünen hücreler" seçeneğini seçtiğimde kesme işlemi yapamıyorum. Mecbur kopyalayıp sonrada kopyaladığım satırları silmem gerekiyor. Yalnızca görünen satırları kesmenin bir yolu varmı?

  1. Kopyalanacak alanı seçiniz.
  2. ALT tuşu ile birlikte ; tuşuna basınız. Eğer ; karakteri tuş takımında üst karaktere atanmış ise ALT SHIFT ve ; tuşlarına basınız.
  3. Sonra bu alanı kopyalayınız.
  4. İstediğiniz yere yapıştırınız.
Bu şekilde sadece görünen satırları kopyalayıp yapıştırmış olacaksınız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub GÖRÜNÜR_HÜCRELERİ_KES_YAPIŞTIR()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim Hücre As Range, Satır As Long, Son_Satır As Long
    
    Set S1 = Sheets("Sayfa1")
    Set S2 = Sheets("Sayfa2")
    
    If S1.AutoFilterMode = False Then
        MsgBox "Filtre aktif değil !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical
        GoTo Son
    End If
    
    If S1.AutoFilter.Filters.Item(1).On = False Then
        MsgBox "Filtre aktif değil !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical
        GoTo Son
    End If
    
    Son_Satır = S1.Range("A65536").End(3).Row
    
    If Son_Satır = 1 Then
        MsgBox "Filtrelenen alanda kes-yapıştır yapılacak hücre bulunamamıştır !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical
        GoTo Son
    End If
    
    Satır = IIf(S2.Range("A65536").End(3).Row = 1, 2, S2.Range("A65536").End(3).Row + 1)
    
    For Each Hücre In S1.Range("A2:A" & Son_Satır).SpecialCells(xlCellTypeVisible)
        Range("A" & Hücre.Row & ":L" & Hücre.Row).Cut S2.Cells(Satır, 1)
        Satır = Satır + 1
    Next
    
    MsgBox "İşleminiz tamamlanmıştır", vbInformation
    
Son:
    Set S1 = Nothing
    Set S2 = Nothing
End Sub
 
Katılım
12 Ağustos 2009
Mesajlar
25
Excel Vers. ve Dili
2007
Vakit ayırıp benim sorunumla ilgilenen herkese teşekkür ederim. Korhan Bey yazdığınız makroyu denemek için ilk önce "A" sütunundan 2 hücreyi kırmızıya boyayıp makroyu denedim. Sorunsuz çalıştı. Daha sonra 1 hücreyi daha kırmızıya boyayıp makroyu tekrar çalıştırdım. Bu hücreyi de kesip yapıştırdı. Fakat daha önce "Sayfa2" ye kesip yapıştırdığı iki hücreyi "Sayfa2" den sildi. Bu şekilde kesip yapıştırdığı hücrelerin makronun her çalışmasında "Sayfa2"den silinmesini engelleyebilir miyiz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

#7 nolu mesajımdaki kodu güncelledim. İncelermisiniz.
 
Katılım
12 Ağustos 2009
Mesajlar
25
Excel Vers. ve Dili
2007
Korhan Bey,
Şu an makro açısından yeterli bilgiye sahip olmadığım için bu işin içinden bir türlü çıkamamıştım. Yazdığınız makro sorunsuz bir şekilde çalışıyor. Elinize sağlık. Teşekkürler.
 
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba Korhan Bey. Makro süper, çok teşekkürler. Bu konu ile ilgili bir sorum var : XP Office'de Filtrelenmiş alanda silme işlemi yapıldığında (filtreden ötürü) ekranda gözükmeyen veriler silinmezdi. Ama Windows 7 Office'de Excel de Filtrelenmiş alanda silme işlemi yapıldığında (filtreden ötürü) ekranda gözükmeyen veriler siliniyor maalesef. Bunun bir püf noktası var mı ?
 
Üst