Vba: görünür satırlar başka bir sayfaya nasıl kopyalanır
Yalnızca görünür satırları bir sayfadan diğerine kopyalamak için VBA’da aşağıdaki sözdizimini kullanabilirsiniz:
SubCopyVisibleRows ()
Dim sourceWS As Worksheet
Dim destinationWS As Worksheet
Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")
sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
destinationWS.Cells(1, 1).PasteSpecial
Application.CutCopyMode = False
End Sub
Bu özel makro, Sayfa1’in A1:D999 aralığındaki her görünür satırı kopyalayacak ve bunları Sayfa2’nin A1 hücresinden başlayarak yapıştıracaktır.
Not : Application.CutCopyMode = False satırı, makroyu çalıştırdıktan sonra kesme ve kopyalama modunun devre dışı bırakılması gerektiğini belirtir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Görünür satırları VBA kullanarak başka bir sayfaya kopyalama
Sayfa 1’de çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri kümesinin bulunduğunu varsayalım:
Şimdi veri kümesine yalnızca takım adının Mavs veya Spurs’a eşit olduğu satırları gösterecek bir filtre uyguladığımızı varsayalım:
Şimdi, yalnızca görünür hücreleri Sayfa1’den Sayfa2’ye kopyalamak için VBA’yı kullanmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubCopyVisibleRows ()
Dim sourceWS As Worksheet
Dim destinationWS As Worksheet
Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")
sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
destinationWS.Cells(1, 1).PasteSpecial
Application.CutCopyMode = False
End Sub
Bu makroyu çalıştırdığımızda Sheet2’de aşağıdaki çıktıyı alıyoruz:
Sayfa1’de görünen her satırın kopyalanıp Sayfa2’ye yapıştırıldığını unutmayın.
Not #1 : Makroda yalnızca görünen hücreleri kopyalamak istediğimizi belirtmek için xlCellTypeVisible kullandık.
Not #2 : VBA Copy yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Son kullanılan satırı nasıl bulabilirim?
VBA: satırları kriterlere göre başka bir sayfaya kopyalayın
VBA: Değerler yalnızca biçimlendirme olmadan nasıl yapıştırılır