EXCEL VBA'DA CLEAR CONTENT İFADESİ

 

EXCEL VBA CLEAR CONTENTS NEDİR?

VBA Clear Contents, belirli bir çalışma sayfasındaki belirli bir aralıktan veya hücreden verileri silmek veya kaldırmaktır. Bu hücrelerdeki tüm içerikleri kaldırarak bir hücreyi veya aralığı boşaltır.


Burada, içerikler veri anlamına gelir, bu yüzden İçeriği Temizle, belirtilen hücre başvurularından verileri kaldırmaktan başka bir şey ifade etmez. ClearContents, VBA'da bir yöntemdir. Örneğin, Excel çalışma sayfasındaki aşağıdaki verilere bakın.

VBA Temiz İçerikler Giriş

A6 ve B6 hücrelerinden verileri kaldırmamız gerektiğini varsayalım. O zaman aşağıdaki kodu kullanabiliriz.


Sub Clear_Contents_Intro()
Aralığı(“A6:B6”).ClearContents

End Sub

Bu kodu çalıştırdığımızda A6 ve B6 hücrelerindeki veriler silinecektir.


VBA Temiz İçerikler Giriş - Çıktı

Yukarıdaki görüntüde görebileceğimiz gibi, A6 ila B6 hücrelerindeki veriler (içerik) kaldırıldı ve şimdi boşlar. A6 ila B6 aralığındaki hücrelerin içeriklerini temizledik.


ÖNEMLİ NOKTALAR

  • VBA Clear Content, belirtilen aralığın biçimini kaybetmeden belirtilen aralıktaki verileri silmek için kullanılan bir yöntemdir.
  • VBA Clear yöntemi verileri ve biçimlendirmeyi kaldırır.
  • VBA Delete metodu verileri ve biçimlendirmeyi kaldırır ancak aynı zamanda içerik kaldırılan alanı doldurmak için alttaki hücreleri yukarı kaydırır.
  • Biçimlendirmeyi korumak için VBA Clear Contents metodunu kullanabiliriz.
  • Tüm çalışma sayfalarında döngüye girip belirtilen aralıktaki içerikleri kaldırabiliriz.

EXCEL VBA'DA CLEAR CONTENTS (TEMİZ İÇERİKLER) NEDİR?

VBA Clear Contents, yalnızca belirli bir hücre aralığından veriyi kaldırmaktır. Bunun nasıl çalıştığını açıkça anlamak için pratik bir yaklaşıma sahip olmalıyız. Aşağıda bir çalışma sayfasında sahip olduğumuz veriler yer almaktadır.

VBA İçeriği Temizle - Örnek

C1'den D6'ya kadar olan hücrelerdeki içerikleri temizlememiz gerektiğini varsayalım. Üç temizleme yöntemi kullanabiliriz:

  • Temizlemek
  • Silmek
  • İçeriği Temizle

Öncelikle Clear metodunun ne işe yaradığına bakalım.

Temizle: Öncelikle, içeriklerini temizlememiz gereken hücrelerin hücre referanslarını sağlamalıyız . Bu durumda, Range nesnesini kullanarak C1'den D6'ya kadar olan hücrelere referans vermeliyiz.

VBA Clear İçerikleri - Örnek - clear

Hücre adreslerini sağladıktan sonra bir nokta girin. Range nesnesinin tüm özelliklerini ve yöntemlerini gösteren IntelliSense listesini görebilirsiniz.

VBA Clear Contents - Örnek - Intellisense Listesi

IntelliSense listesinden “Temizle” yöntemini seçin.

VBA Clear İçerikleri - Örnek - Clear Yöntemi

İşte bu kadar; bu, C1'den D6'ya kadar olan hücrelerdeki içerikleri silecektir.

Sub Clear_Contents()
Range(“C1:D6”).Clear
End Sub

Kodu çalıştırdığımızda aşağıdaki çıktıyı alırız.

VBA İçeriği Temizle - Örnek - Çıktı

C1'den D6'ya kadar olan aralıktaki tüm veriler ve biçimlendirmeler kaldırıldı.

Delete: Sil yöntemi, Temizle yöntemine benzer şekilde çalışır. Önceki örnekte sahip olduğumuz aynı verilere sahip olalım.

VBA İçeriği Temizle - Örnek

Yukarıdaki örnekteki aynı kod için Clear metodunu Delete olarak değiştirin.

VBA İçeriği Temizle - Örnek - Sil

Sub Clear_Contents_Delete()
Range(“C1:D6”).Delete
End Sub

Bu kodu çalıştırdığımızda aşağıdaki sonucu elde edeceğiz.

VBA İçeriği Temizle - Örnek - Çıktı

Bu sonuç da bir öncekiyle aynıdır.

İçeriği Temizle (Clear Content): Bu önceki iki yöntemden farklıdır. Son iki örnekteki aynı verileri kullanalım.

VBA İçeriği Temizle - Örnek

Yukarıdaki örneklerde bulunan Delete veya Clear metodunu koddaki ClearContents metoduyla değiştirin.

Sub Clear_Contents()
Range(“C1:D6”).ClearContents
End Sub

Kodu çalıştırdığımızda aşağıdaki sonucu elde edeceğiz.

VBA İçeriği Temizle - Örnek - İçeriği Temizle - Çıktı

Clear Contents yönteminde sonuç farklıdır. Sadece içerik kaldırıldığı için geri kalanı olduğu gibidir. Gerisi, arka plan rengi, kenarlıklar vb. gibi biçimlendirmeyi ifade eder.

Bunlar VBA'da bulunan üç farklı ClearContents yöntemidir. Hem "Clear" hem de "Delete" yöntemleri aynı sonucu verse de, bu ikisi arasında bir fark vardır ve bunu makalenin bir sonraki bölümünde inceleyelim.


Clear ve Delete Yöntemleri Arasındaki Fark

Clear ve Delete metotları arasındaki farkı anlamak için aşağıdaki verileri kullanalım.

VBA İçeriği Temizle - temizleme ve silme

A5'ten D5'e kadar olan hücrelerden "Nis" ay içeriğini kaldırmamız gerektiğini varsayalım.

Sub Clear_vs_Delete_Clear()
Range(“A5:D5”).Clear 
End Sub

Bu kodu çalıştırdığımızda aşağıdaki çıktıyı alacağız.

VBA İçeriği Temizle - temizleme ve silme - Çıktı

Clear yöntemi A5 ile D5 aralığındaki tüm değerleri kaldırdı. Burada birkaç şeye bakalım. Başvurulan aralıktaki biçimlendirme kaldırıldı ve aralık boş oldu. Şimdi Clear yöntemini Delete olarak değiştirin.

Sub Clear_vs_Delete_Clear()
Range(“A5:D5”).Delete
End Sub

Kodu çalıştırmadan önce eski verileri tüm biçimlendirmeleriyle birlikte geri alalım.

VBA İçeriği Temizle - temizleme ve silme

Bu kodu çalıştırdığımızda aşağıdaki çıktıyı alacağız.

VBA İçeriği Temizle - temizleme ve silme - farklar

Delete metodu A5 ile D5 aralığındaki verileri tüm biçimlendirmeleriyle birlikte kaldırırken, aynı zamanda alttaki hücreler bir satır yukarı taşınarak kaldırılan veri aralığının konumunu almıştır.

Delete metodu çalıştırıldığında A6-D6 veri aralığı A5-D5 haline gelir.

Hücrelerin Biçimlendirmesini Korumak İçin VBA Temiz İçerik Yöntemi Nasıl Kullanılır?

Gördüğümüz gibi, VBA Clear and Delete yöntemi verileri kaldıracak ve verilen aralık referansını biçimlendirecektir. Örneğin, Excel'deki aşağıdaki verilere bakın.

VBA İçeriği Temizle - Biçimi koru

Belirli aralıklardaki verileri ortadan kaldırmamız gereken on çalışma sayfamız olduğunu varsayalım. İçeriği temizlemek için on farklı makro veya kod yazmamalıyız.

VBA İçeriği Temizle - Biçimi koru - kod

Aralık verildikten sonra yukarıda belirtilen yöntemleri kullanabiliriz. Bunlar Clear, Delete ve Clear Formatting'dir. Önce Clear yöntemini deneyelim.

Alt Temizle_Biçimlendirmeden_Olmadan()
Aralığı(“A1:F5”).Temizle
Alt Son

Kodu çalıştırdığımızda aşağıdaki sonuç tablosunu elde ederiz.

VBA İçeriği Temizle - Biçimi Koru - Çıktı

Veri ve biçimlendirme silindi; bu nedenle A1 ila F6 aralığında boş bir alan görüyoruz. Şimdi, Delete metodunu kullanın.

Sub Clear_Without_Formatting()
Range(“A1:F5”).Delete
End Sub

Bu kodu çalıştırıp sonucu görün.

VBA İçeriği Temizle - Biçimi Koru - Sonuç

A1 ile F6 aralığındaki veriler silindi; aynı zamanda bu satırlar da silindi; dolayısıyla alttaki tüm hücreler yukarı kaydırıldı; dolayısıyla A1 ile F6 aralığında boş bir alan görmüyoruz.

Benzer şekilde Delete metodunu ClearContents metoduyla değiştirin.

Sub Clear_Without_Formatting()
Range(“A1:F5”).ClearContents
End Sub

Bu kodu çalıştırdığımızda aşağıdaki sonucu elde ederiz.

VBA İçeriği Temizle - Biçimi koru - clearcontent

VBA Clear Contents yöntemi yalnızca A1 ila F6 aralığındaki içeriği kaldırdı ve tüm biçimlendirme korundu. Tüm hücreleri yukarıya kaydıran Delete yönteminin aksine, alttaki hücreler yukarıya kaydırılmadı.

Bu nedenle, bir şeyi silmeniz gerektiğinde ancak biçimlendirmeyi korumanız gerektiğinde, VBA ClearContents en iyisidir. Benzer şekilde, farklı bir çalışma sayfasındaki içeriği temizlemek için aşağıdaki kodu kullanırız.

Sub Clear_Content_Worksheet()
‘Define a variable to assign the targeted worksheet reference where we need to clear the content
Dim Ws As Worksheet
‘Set the reference for the worksheet using the set key word
Set Ws = Worksheets(“Basic”)
‘Define a variable to set the targeted range reference
Dim Rng As Range
‘Set the targeted range referene for the variable
Set Rng = Range(“A1:D5”)
‘Apply clear contents method to clear the data from the targeted range
Ws.Range(“A1:D5”).ClearContents
End Sub


Yukarıdaki kod, “Basic” çalışma sayfasındaki ve A1 ile D5 aralığındaki içerikleri herhangi bir çalışma sayfasından kaldıracaktır.

Bilgisayarımızda açılan herhangi bir çalışma kitabından, yalnızca etkin çalışma kitabının çalışma sayfasından değil, içeriği kaldırabiliriz. Örneğin, aşağıdaki koda bakın.

Sub Clear_Content_Workbook()
‘Define a variable to assign the targeted workbook reference where we need to clear the content
Dim Wb As Workbook
‘Set the reference for the workbook using the set key word
Set Wb = Workbooks(“Sales Report.xlsx”)
Wb.Worksheets(“Sales Summary”).Range(“A1:D10”).ClearContents
End Sub

Yukarıdaki kod, Sales Report.xlsx çalışma kitabında ve Sales Summary çalışma sayfasında A1 ile D10 aralığını silecektir.

Tüm Çalışma Sayfalarını Dolaşın ve Belirli Aralığın İçeriklerini Temizleyin

Belirli aralıklardaki verilerden kurtulmamız gereken 10 çalışma sayfamız olduğunu varsayalım. İçeriği temizlemek için 10 farklı makro veya kod yazmamız gerekmiyor.

Yapmamız gereken tek şey her çalışma sayfasında döngüler kullanmak ve içerikleri temizlemektir. Birden fazla çalışma sayfasında döngü yapmamız gerektiğinden, nesne döngüsünü, yani Her Bir Döngü için döngüsünü kullanmalıyız.

Örneğin aşağıdaki koda bakın.

Only Specific Range:

Sub Clear_Content_Each_Worksheet()
Dim Ws As Worksheet
For Each Ws In ActiveWorkbook.Worksheets
Ws.Range(“A1:G5”).ClearContents
Next Ws
End Sub

Tüm Kullanılan Aralık: Bazen her çalışma sayfasında veri aralığı farklı olabilir. Bu gibi durumlarda belirtilen aralığı ayarlayamayız, bunun yerine her çalışma sayfasında aralığı dinamik olarak bulmalıyız.

Sub Clear_Content_Each_Worksheet_UsedRange()
Dim Ws As Worksheet
For Each Ws In ActiveWorkbook.Worksheets
Ws.UsedRange.ClearContents
Next Ws
End Sub

Yukarıdaki kod, etkin çalışma kitabındaki tüm çalışma sayfalarını dolaşacak ve belirtilen aralıklardaki içerikleri temizleyecektir.

VBA içerikleri birden fazla aralıktan temizleme: Ayrıca, iç içe geçmiş aralık nesnelerinde birden fazla aralığa başvurarak birden fazla aralıktan içerikleri temizleyebiliriz. Örneğin, aşağıdaki koda bakın.

VBA İçeriği Temizle - Çoklu Aralıklar

Birden fazla aralık verimiz var, yani,

  • Range 1 = A1 to B4
  • Range 2 = A7 to B10
  • Range 3 = D1 to E4

Aşağıdaki koda bakın.

Sub Clear_Content_MultipleRange()
Range(“A1:B4”, Range(“A7:B10”, Range(“D1:E4”))).ClearContents
End Sub

RANGE nesnesini kullanarak birden fazla aralığa başvurduk. Bir Range nesnesinin içinde, başka bir hücre aralığına başvurmak için iki başka Range nesnesi kullandık; sonra, tüm aralık nesnelerinin parantezlerinin sonunda, VBA Clear Contents yöntemini kullandık.

Bu kodu çalıştırdığımızda aşağıdaki sonucu elde edeceğiz.

VBA İçeriği Temizle - Çoklu Aralıklar - Sonuç

Tüm içerikler kaldırıldı, sadece biçimlendirme korundu.

Dikkat Edilmesi Gereken Önemli Noktalar

  • VBA İçeriği Temizle seçeneği yalnızca aralığa başvurduğumuzda kullanılabilir.
  • VBA Delete yöntemi, başvurulan aralığı kaldırdıktan sonra altındaki tüm hücreleri yukarıya, sağdaki tüm hücreleri ise sola kaydırır.
  • Range nesnesi ve CELLS özelliğini kullanarak temiz içeriklere erişebiliriz.
  • Kullanılan Aralık, minimum satırdan maksimum satır sütununa kadar doldurulan aralığı ifade eder.

1. Birleştirilmiş hücre VBA'da içerikler nasıl temizlenir?

Birleştirilmiş hücrelerdeki içeriği temizlemek zordur. Örneğin, Excel'deki aşağıdaki verilere bakın.

SSS 1
Yukarıdaki görüntüde B2'den D4'e kadar olan hücreler birleştirildi ve bu birleştirilmiş hücrelerde bir değerimiz var. Ancak, birleştirilmiş hücreye en üst sol hücre, yani B2 hücresi tarafından başvuruluyor.

En üst sol taraftaki hücreye başvurup içeriği temizlemeyi deneyelim.

Sub Clear_Content_MergedCells()
   Range(“B2”).ClearContents
End Sub


Kodu çalıştıralım. Aşağıdaki hatayı alıyoruz.

SSS 1 - Hata

Bunu birleştirilmiş bir hücreye yapamayacağımızı söylüyor. Bu nedenle, birleştirilmiş hücrenin sol üst tarafına başvurarak birleştirilmiş hücredeki içeriği temizleyemeyiz.

Birleştirilmiş hücrelerin tüm hücrelerine, yani B2'den D4'e başvurmamız gerekir.

Sub Clear_Content_MergedCells()
   Range(“B2:D4”).ClearContents
End Sub


Bu, birleştirilmiş hücrelerin içeriğini temizleyecektir.

SSS 1 - Çıktı

2. VBA'da biçimlendirmeyi temizlemeden içerikler nasıl temizlenir?

Clear ve Delete yöntemleri başvurulan alandaki verileri ve biçimlendirmeyi de silecektir. Biçimlendirmeyi temizlemeden içeriği temizlemek için VBA Clear Contents yöntemini kullanmamız gerekir.

3. VBA'da bir tablonun içeriği nasıl temizlenir?

Bir tablonun içeriğini temizlemek için, ListObjects özelliğini kullanarak tablo adıyla birlikte çalışma sayfasına başvurmamız gerekir.

4. VBA'da bir sütunun içeriği nasıl temizlenir?

Sütunlardaki içerikleri temizlemek için sütun aralığına aşağıdaki gibi başvurmalıyız.

Sub Clear_Content_Column()
Range(“B:D”).ClearContents
End Sub


Bu kod B'den D'ye kadar olan sütunlardaki tüm içerikleri kaldıracaktır.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...