Ev / Mobil İşletim Sistemi / Filtreli bir tablo Excel'e nasıl kopyalanır? Excel'de görünür satırlara yapıştırın. Yalnızca görünür hücreleri kopyalama

Filtreli bir tablo Excel'e nasıl kopyalanır? Excel'de görünür satırlara yapıştırın. Yalnızca görünür hücreleri kopyalama


Koşullu Biçimlendirme (5)
Listeler ve aralıklar (5)
Makrolar (VBA prosedürleri) (63)
Çeşitli (39)
Excel hataları ve aksaklıkları (4)

Kopyalanan hücreleri yalnızca görünür/filtrelenmiş hücrelere yapıştırma

Genel olarak makalenin anlamının zaten başlıktan anlaşıldığını düşünüyorum. Biraz genişleteceğim.

Excel'in yalnızca görünen satırları seçmenize izin verdiği bir sır değil (örneğin bazıları gizlenmişse veya filtre uygulanmışsa).

Dolayısıyla, yalnızca görünür hücreleri bu şekilde kopyalarsanız bunlar beklendiği gibi kopyalanır. Ancak filtrelenmiş bir aralığa (veya gizli satırlar içeren) kopyalanan bir şeyi yapıştırmaya çalıştığınızda, yapıştırmanın sonucu tam olarak beklediğiniz gibi olmayacaktır. Veriler gizli satırlara bile eklenecektir.

Tek bir hücre aralığını kopyalayın ve yalnızca görünür olanlara yapıştırın
Yalnızca görünür hücrelere veri eklemek için aşağıdaki makroyu kullanabilirsiniz:

Seçenek Açık Dim rCopyRange As Range "Bu makroyla verileri kopyalıyoruz Sub My_Copy() If Selection.Count > 1 Sonra Ayarlayın rCopyRange = Selection.SpecialCells(xlVisible) Aksi takdirde: Ayarlayın rCopyRange = ActiveCell End If End Sub "Bu makro ile seçilen hücreden başlayarak veri ekliyoruz Sub My_Paste() Eğer rCopyRange Hiçbir Şey Değilse Sub'dan Çıkın Eğer rCopyRange.Areas.Count > 1 ise Sonra MsgBox "Yapıştırılan aralık birden fazla bölge içermemelidir!",vbKritik, "Geçersiz aralık": Çıkış Sub Dim rCell As Range, li As Long , le As Long , lCount As Long , iCol As Integer , iCalculation As Integer Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 iCol = 1 için rCopyRange'a .Columns.Count li = 0: lCount = 0: le = iCol - 1 Her rCell In rCopyRange.Columns(iCol).Cells Do If ActiveCell.Offset(li, le).EntireColumn.Hidden = False Ve _ ActiveCell.Offset (li, le).EntireRow.Hidden = False Then rCell.Copy ActiveCell.Offset(li, le): lCount = lCount + 1 End If li = li + 1 Loop While lCount >= rCell.Row - rCopyRange.Cells(1 ).Satır Sonraki rCell Sonraki iCol Application.ScreenUpdating = True : Application.Calculation = iCalculation End Sub

Option Explicit Dim rCopyRange As Range "Verileri kopyalamak için bu makroyu kullanın Sub My_Copy() If Selection.Count > 1 Sonra Set rCopyRange = Selection.SpecialCells(xlVisible) Aksi takdirde: Set rCopyRange = ActiveCell End If End Sub "Yapıştırmak için bu makroyu kullanın seçili hücrelerden başlayan veriler Sub My_Paste() If rCopyRange Is Nothing Then Exit Sub If rCopyRange.Areas.Count > 1 Then MsgBox "Yapıştırılan aralık birden fazla alan içermemelidir!", vbCritical, "Geçersiz aralık": Çıkış Sub Dim rCell As Range, li As Long, le As Long, lCount As Long, iCol As Integer, iCalculation As Integer Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 iCol = 1 için rCopyRange.Columns için .Count li = 0: lCount = 0: le = iCol - 1 For Every rCell In rCopyRange.Columns(iCol).Cells Do If ActiveCell.Offset(li, le).EntireColumn.Hidden = False And _ ActiveCell.Offset(li) , le).EntireRow.Hidden = False Then rCell.Copy ActiveCell.Offset(li, le): lCount = lCount + 1 End If li = li + 1 Loop While lCount >= rCell.Row - rCopyRange.Cells(1). Satır Sonraki rCell Sonraki iCol Application.ScreenUpdating = True: Application.Calculation = iCalculation End Sub

Resmi tamamlamak için bu makroları kısayol tuşlarına atamak daha iyidir (aşağıdaki kodlarda bu, kodun bulunduğu bir kitap açıldığında otomatik olarak yapılır). Bunun için aşağıdaki kodları modüle kopyalamanız yeterli olacaktır. Bu kitap (Bu Çalışma Kitabı) :

Option Explicit "Çalışma kitabını kapatmadan önce kısayol tuşlarının atamasını iptal et Private Sub Workbook_BeforeClose(Boolean Olarak İptal Et) Application.OnKey "^q": Application.OnKey "^w" End Sub "Çalışma kitabını açarken kısayol tuşları atayın Private Sub Workbook_Open() Application .OnKey "^q", "My_Copy": Application.OnKey "^w", "My_Paste" End Sub

Artık tuşlara basarak istediğiniz aralığı kopyalayabilirsiniz. Ctrl + Q ve onu filtrelenmiş olanın içine yerleştirin - Ctrl + w .

Örneği indir

(46,5 KiB, 9.622 indirme)

Yalnızca görünür hücreleri kopyalayın ve yalnızca görünür olanlara yapıştırın
Site ziyaretçilerinin isteği üzerine bu prosedürü iyileştirmeye karar verdim. Artık herhangi bir aralığı kopyalamak (gizli satırlar, gizli sütunlar) ve kopyalanan hücreleri herhangi bir aralığa yapıştırmak (gizli satırlar, gizli sütunlar) mümkün. Bir öncekiyle tamamen aynı şekilde çalışır: tuşlara basarak Ctrl + Q istediğiniz aralığı kopyalayın (gizli/filtrelenmiş satır ve sütunlarla veya gizli değil) ve bir klavye kısayoluyla yapıştırın Ctrl + w . Ekleme ayrıca gizli/filtrelenmiş satır ve sütunlarda veya gizli olanlar olmadan da gerçekleştirilir.
Kopyalanan aralık formüller içeriyorsa, referansın yer değiştirmesini önlemek için yalnızca hücre değerlerini kopyalayabilirsiniz - yani. Değerler eklenirken formüller değil, hesaplamalarının sonucu eklenir. Veya eklemenin gerçekleştiği hücrelerin formatlarının korunması gerekiyorsa, yalnızca hücre değerleri kopyalanıp yapıştırılacaktır. Bunu yapmak için koddaki (aşağıdaki dosyada) satırı değiştirmeniz gerekir:

rCell.Copy rResCell.Offset(lr, lc)

rCell.Copy rResCell.Offset(lr, lc)

buna:

rResCell.Offset(lr, lc) = rCell.Value

rResCell.Offset(lr, lc) = rCell.Value

Bu satırların her ikisi de aşağıdaki dosyada mevcut; sadece işinize daha uygun olanı bırakmanız yeterli.

Örneği indirin:

(54,5 KiB, 7.928 indirme)


Ayrıca bakınız:
[]

Makale yardımcı oldu mu? Bağlantıyı arkadaşlarınızla paylaşın! Video dersleri

("Alt çubuk":("textstyle":"static", "textpositionstatic":"bottom", "textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft",textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"textfect":"slide","textfecteasing":"easeOutCubic",text effectduration":600,"textfectslidedirection":"left","textfectslidedistance" :30,"textfectdelay":500,"textfectseparate":false,"textfect1":"slide","textfectslidedirection1":"right", "textfectslidedistance1":120,"textfecteasing1":"easeOutCubic","text effectduration1":600 ,"textfectdelay1":1000,"textfect2":"slide","textfectslidedirection2":"right","textfectslidedistance2":120,"textfecteasing2":"easeOutCubic","textfectduration2":600,"textfectdelay2":1500," textcss":"display:block; text-align:left;"textbgcss":"display:mutlak; arka plan rengi:#333333; filtre:alpha(opacity=60); ","titlecss":"görüntü:blok; konum:göreceli; yazı tipi:kalın 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; color:#fff;","descriptioncss":"görüntüleme:blok; konum:göreceli; yazı tipi:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; renk:#fff; marj-top:8px;","buttoncss":"display:block; konum:göreceli; marj-top:8px;"text effectresponsive":true,"textfectresponsivesize":640,"titlecssresponsive":"font-size:12px;"descriptioncssresponsive":"display:none !important;"buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))

Çalışma sayfasındaki bazı hücreler, satırlar veya sütunlar görünmüyorsa tüm hücreleri (veya yalnızca görünen hücreleri) kopyalayabilirsiniz. Varsayılan olarak Excel yalnızca görünür hücreleri değil aynı zamanda gizli veya filtrelenmiş hücreleri de kopyalar. Yalnızca görünen hücreleri kopyalamak istiyorsanız aşağıdaki adımları izleyin. Örneğin, yapılandırılmış bir çalışma sayfasından yalnızca özet verileri kopyalayabilirsiniz.

Aşağıdaki adımları takip et.

Not: Kopyaladığınızda değerler satırlara ve sütunlara sırayla eklenir. Yapıştırma alanında gizli satırlar veya sütunlar varsa kopyaladığınız tüm verileri görmek için bunları göstermeniz gerekebilir.

Gizli hücreleri içeren veya filtre uygulanmış bir veri aralığındaki görünür hücreleri kopyalayıp yapıştırdığınızda, gizli hücrelerin görünür hücrelerle birlikte yapıştırıldığını fark edebilirsiniz. Ne yazık ki, Web için Excel'de bir hücre aralığını kopyalayıp yapıştırdığınızda bu ayarı değiştiremezsiniz çünkü Yalnızca görünür hücreleri yapıştırma kullanılamıyor.

Ancak verilerinizi tablo olarak biçimlendirip filtre uygularsanız yalnızca görünen hücreleri kopyalayıp yapıştırabilirsiniz.

Verilerinizi tablo olarak biçimlendirmek istemiyorsanız ve masaüstü Excel'iniz yüklüyse, görünür hücreleri kopyalayıp yapıştırmak için çalışma kitabını Excel'de açabilirsiniz. Bunu yapmak için düğmeye tıklayın Excel'de aç ve Yalnızca görünür hücrelerin kopyalanıp yapıştırılması bölümündeki adımları izleyin.

Ek Bilgiler

Her zaman bir Excel Teknik Topluluğu uzmanına soru sorabilir, Yanıtlar topluluğundan yardım isteyebilir ve ayrıca önerilerde bulunabilirsiniz. yeni özellik veya web sitesinde iyileştirme

Excel'de veri seçimi bir filtre veya sıralama kullanılarak gerçekleştirildi. Artık basılmaları veya başka bir yere taşınmaları gerekiyor. Excel'e kopyala gizli hücrelerin de kopyalanacağı şekilde yapılandırılmıştır.
İki yolu ele alalım, İle Excel'de filtrelenen satırlar nasıl kopyalanır?
İlk yol.
Excel'de harika bir özellik var - Excel'e Özel işlevi yapıştırın.
Yani bir masamız var.
Filtre nasıl kurulur, makaleye bakın " Excel'de filtrele ".
Tüm Ivanov'ları listeden kaldırmak için bir filtre kullanıyoruz. Bu şekilde ortaya çıktı.
Tabloyu seçin ve içerik menüsünde “Kopyala”ya tıklayın. A9 hücresine sol tıklayın ve içerik menüsünden "değerler"i seçin.
"Tamam"a tıklayın. Voila. Yalnızca görünen satırların değeri değil aynı zamanda hücrelerin formatı da kopyalandı.
Bir nüans var- filtrelenmiş verileri, filtrenin bulunduğu satırlara eklemeyin. Örneğin, örneğimizde - 1-7. satırlarda değil, aşağıda veya başka bir sayfada vb. Filtrenin bulunduğu satırlara yapıştırırsak filtrelenen veriler filtrenin gizlediği satırlara da eklenecektir. Genel olarak, bir karmaşa ortaya çıkacak. İkinci yol.
Tablo aynı. Filtrelenmiş verileri içeren tabloyu seçin. “Ana Sayfa” sekmesinde “Düzenleme” bölümüne tıklayın Excel'de Bul ve Vurgula işlevleri. Daha sonra “Git” butonuna tıklayın. Görüntülenen iletişim kutusunda "Seç..." düğmesini tıklayın. “Bir grup hücre seç” penceresinde, “yalnızca görünür hücreler”in yanındaki kutuyu işaretleyin. "Tamam"a tıklayın. Şimdi aynı seçili tablo üzerinde sağ fareyi çağırıyoruz içerik menüsü. “Kopyala” işlevine tıklayın. Yeni bir konumda (örneğimizde bu A15 hücresidir), “Ekle” ye tıklayın. Tüm. Bu şekilde ortaya çıktı.
Kopyalamadan hemen nasıl excel'de filtre verilerini yazdırma, "Yer İşareti" makalesine bakın Excel sayfası"Sayfa düzeni""

Yalnızca görünür satırlara yapıştırınexcel sayılar, formüller, metinler çeşitli şekillerde yapılabilir. Tablonun tüm satırlarına sayı, formül veya metin eklemeniz gerektiğinde filtre kullanabilirsiniz. Filtre nasıl kurulur ve Excel'de filtreleme nasıl yapılır, “Excel'de Filtreleme” makalesine bakın. Ancak verileri yalnızca görünür hücrelere eklemek için, özellikle çok sayıda satır varsa, kendi yöntemlerinize ihtiyacınız vardır.
İlk yol sıradan .
Şöyle bir tablo ele alalım. Tablo tüm örnekler için aynı olacaktır.
Tablodaki tüm 2 rakamlarını kaldırmak için bir filtre kullanalım. Kalan görünür hücrelere 600 sayısını koyarız. B2 hücresine 600 sayısını koyarız, ardından bunu sütuna kopyalarız (B2 hücresinin sağ alt köşesini çekin). Değerler yalnızca görünür hücrelere kopyalandı. Formülleri de aynı şekilde ekleyebilirsiniz. Aşağıdaki formülü C2 hücresine yazıyoruz. =A2*10
Bu şekilde ortaya çıktı.
Filtreyi iptal edelim. Sonuç böyle bir tablodur.
Formül ve sayılar yalnızca filtrelenen satırlara eklendi.
İkinci yol.
Ayrıca verileri filtreleyeceğiz. İlk hücreye bir sayı, formül, metin vb. yazıyoruz. Şimdi, binlerce satır varsa, hücreleri şu şekilde seçin: "Ctrl" + "Shift" + aşağı ok tuşuna (veya hücreleri seçmek istediğimiz yere bağlı olarak yukarı tuşuna - aşağıda veya yukarıda) basın sayının yazıldığı hücre).
Şimdi, veya “Ctrl” + G tuş kombinasyonuna veya F5 tuşuna basın. Geçiş iletişim kutusu görünecektir. “Seç...” butonuna tıklayın. Ve yeni "Bir grup hücre seç" iletişim kutusunda, "Yalnızca görünür hücreler" kelimelerinin yanındaki kutuyu işaretleyin."Tamam"a tıklayın. Daha sonra her zamanki gibi yerleştirin.

Hücre Grubunu Seç iletişim kutusunu açmanın başka bir yolu.“Ana Sayfa” sekmesindeki “Düzenleme” bölümünde “Bul ve Seç” düğmesine tıklayın. Görünen listede “Bir hücre grubu seç” işlevine tıklayın.

İle seçilen Excel sütunlarındaki görünür hücreleri doldur, "Ctrl" + D tuş kombinasyonuna basın. Seçilen tüm sütunlar, ilk hücrede olduğu gibi veri veya formülle doldurulacaktır. Örneğimizde D2 hücresi D sütununa 800 sayısını yazdık.



Üçüncü yol.
Yeni bir sütunda (örneğimizde E sütunu) hücreleri seçin. F5 tuşuna basın. Geçiş iletişim kutusu görünecektir. “Seç...” butonuna tıklayın. Ve yeni "Bir grup hücre seçin" iletişim kutusunda, "Yalnızca görünür hücreler" kelimelerinin yanındaki kutuyu işaretleyin. "Tamam"a tıklayın. Şimdi seçimi iptal etmeden sütunun ilk hücresine (bizimki E2) bir formül, sayı vb. girin. “Ctrl” + “Enter” tuş kombinasyonuna basın.