EXCEL VBA'DA SÜTUN GİZLEME

 


Excel VBA Hide Columns, VBA koduyla bir Microsoft Excel çalışma sayfasında belirli bir sütunu/sütunları gizlemenize olanak tanıyan bir özelliktir. Bu özellik, görevleri otomatikleştirmek, verileri düzenlemek veya sütunların görünürlüğünü belirli koşullara göre özelleştirmek için kullanışlıdır. Sütunları gizleyerek, çalışma sayfalarınızı daha kullanıcı dostu hale getirebilir ve yalnızca analizinizle veya sunumunuzla ilgili bilgileri görüntüleyebilirsiniz.


Bir örneğe bakalım. Burada, basit bir amacı olan HideColumnByIndex adında bir alt rutinimiz var: belirli bir sütunu gizlemek.

VBA Sütunları Gizle Giriş

Hedef sütun, 2 dizinine karşılık gelen B sütunudur. Kod, çalışma sayfasındaki tüm sütunları temsil eden Columns özelliğini kullanır ve parantez içinde B sütununu dizinine göre kesin olarak tanımlar. Kod, B sütununu gizleme görevini “.Hidden” özelliğini True olarak ayarlayarak gerçekleştirir.

VBA Sütunları Gizle Giriş - Kod

Bu VBA makrosunu çalıştırdığınızda Excel çalışma sayfasındaki B sütunu görünümden gizlenir.

VBA Sütunları Gizle Giriş - Çıktı

ÖNEMLİ NOKTALAR

  1. VBA Sütunları Gizle, Columns nesnesinin .Hidden özelliğini kullanarak sütunları gizlemenize olanak tanır.
  2. VBA Sütun Numaralarını Kullanarak Sütunları Gizle özelliğiyle, sütun numaralarını belirterek sütunları doğrudan gizleyebilirsiniz ve bu sayede Excel çalışma sayfanızdaki veri görünürlüğünü özelleştirmek için basit bir yöntem sunar.
  3. Excel'de özelleştirilmiş ölçütlere göre sütunları gizlemek için VBA Ölçütlere Göre Sütunları Gizle yöntemini kullanabilir, böylece çalışma sayfanızda esnek veri sunumu ve analizi yapabilirsiniz.
  4. VBA aracılığıyla otomasyon, belirli ölçütlere göre sütunları seçici olarak gizleyerek veya göstererek Excel çalışma sayfalarınızın organizasyonunu ve kullanılabilirliğini artırabilir.

Sözdizimi

Temel söz dizimi şöyledir:

Columns(ColumnIndex).Hidden = True

TerimTanım
ColumnsBu özellik çalışma sayfasındaki tüm sütunları temsil eder.
ColumnIndexBunu gizlemek istediğiniz sütunun indeksi veya numarasıyla değiştirin.
.HiddenBu özellik, sütunun gizli olup olmadığını belirler (gizlemek için True olarak ayarlayın).

VBA'da Sütunlar Nasıl Gizlenir?

VBA'da sütunları gizlemek, Columns özelliğini ve “.Hidden” özelliğini kullanmayı içerir. İşte VBA Hide columns'un nasıl kullanılacağına dair adım adım bir kılavuz.

Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın.

VBA Sütun Gizleme - Adım 1

Adım 2: Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

VBA Sütunları Gizle - Adım 2

Adım 3: İstenilen sütunları gizlemek için bir VBA alt programı (kod bloğu) yazın.

Adım 4: Gereksinimlerinize göre hangi sütunların gizleneceğini belirtmek için VBA kodunuzu özelleştirin . Tek bir sütunu veya birden fazla sütunu gizleyebilir veya sütunları dinamik olarak gizlemek için koşullar uygulayabilirsiniz.

Adım 5: Kodu yürütmek ve belirtilen sütunları gizlemek için VBA makrosunu çalıştırın. Makroyu VBA düzenleyicisi aracılığıyla veya Excel çalışma sayfanızdaki bir düğmeye veya olaya atayarak tetikleyebilirsiniz.

Adım 6: Gizli bir sütunu göstermek için aynı sözdizimini kullanın ancak .Hidden öğesini False olarak ayarlayın . Bu, gizli sütunu tekrar görünür hale getirecektir.

Columns(ColumnIndex).Hidden = False


Örnekler

Örnek 1 – Aralık Nesnesini kullanarak gizle:

Bu örnekte amacımız Excel çalışma sayfamızdaki belirli bir sütunu, yani C sütununu, 'C:C' Aralık nesnesini kullanarak gizlemektir.

VBA Sütunları Gizle - Örnek 1 - Adım 1

Adım 1: Yeni modülde, HideColumnByRange adında bir VBA alt rutini oluşturarak başlıyoruz.

VBA Sütunları Gizle - Örnek 1 - Adım 1 - kod

Adım 2: Alt rutin içerisinde, Columns özelliğini kullanarak çalışma sayfasındaki tüm sütunlara erişiyoruz.

VBA Sütunları Gizle - Örnek 1 - Adım 2

Adım 3: Hangi sütunun gizleneceğini belirtmek için çift tırnak işareti içinde "C:C" Aralık nesnesini kullanırız. VBA'daki bu Aralık nesnesi, C sütunundaki hücrelerin tam aralığını tanımlar. Bunu çift tırnak işareti içine alarak Excel'e tüm C sütunuyla çalışmak istediğimizi bildiririz.

VBA Sütunları Gizle - Örnek 1 - Adım 3

Adım 4: Son olarak, seçili sütunun .Hidden özelliğini True olarak ayarlıyoruz . Bu eylem, tüm sütun C'yi görünümden gizler.

VBA Sütunları Gizle - Örnek 1 - Adım 4

Adım 5: Şimdi makroyu kaydedin ve Çalıştır'a tıklayın. Bu makroyu çalıştırdığınızda, Excel çalışma sayfanızdaki C sütununun gizlendiğini ve artık görünür olmadığını göreceksiniz.

VBA Sütunları Gizle - Örnek 1 - Adım 5

İşte tam kod:

Sub HideColumnByRange()
' Sütunu gizle C
Columns(“C:C”).Hidden = True 

End Sub


Örnek 2 – Sütunlar Özelliğini kullanarak gizle

Bu örnekte, çalışma sayfamızdaki belirli bir sütunu, yani B sütununu (ikinci sütun) gizlemeyi amaçlıyoruz.

Adım 1: HideColumnByProperty adında bir VBA alt rutini oluşturarak başlıyoruz .

VBA Sütunları Gizle - Örnek 2 - Adım 1

Adım 2 : Alt rutin içerisinde yine sütunlarla çalışmak için Columns özelliğini kullanıyoruz.

VBA Sütunları Gizle - Örnek 2 - Adım 2

Adım 3 : Sütunu adıyla belirtmek yerine, doğrudan sütunun indeksini belirtiyoruz; B sütunu için bu indeks 2'dir.

VBA Sütunları Gizle - Örnek 2 - Adım 3

Adım 4: Önceki örnekte olduğu gibi .Hidden özelliğini True olarak ayarlıyoruz.

VBA Sütunları Gizle - Örnek 2 - Adım 4

Adım 5: Bu makroyu çalıştırdığınızda çalışma sayfanızdaki B sütunu (ikinci sütun) gizlenir.

VBA Sütunları Gizle - Örnek 2 - Adım 5

İşte tam kod:

Sub HideColumnByProperty()
' İndeks 2 olan sütunu gizle (B)
Columns(2).Hidden = True
End Sub


Örnek 3 – Birden Fazla Sütunu Gizle:

Bu durumda amacımız belirli bir sütun aralığını, özellikle D'den G'ye kadar olan sütunları gizlemektir.

VBA Sütunları Gizle - Örnek 3

Adım 1: HideMultipleColumns adında bir VBA alt rutini başlatıyoruz.

VBA Sütunları Gizle - Örnek 3 - Adım 1

Adım 2: Bu alt rutin içerisinde VBA'daki Columns özelliğini bir kez daha kullanacağız .

VBA Sütunları Gizle - Örnek 3 - Adım 2

Adım 3: Gizlemek istediğimiz sütun aralığını belirtmek için, bunların referanslarını çift tırnak içinde, "D:G" olarak veriyoruz.

VBA Sütunları Gizle - Örnek 3 - Adım 3

Adım 4: .Hidden özelliğini True olarak ayarlayarak, D ile G aralığındaki tüm sütunları etkili bir şekilde gizleriz.

VBA Sütunları Gizle - Örnek 3 - Adım 4

Adım 5: Bu makroyu çalıştırdığınızda D, E, F ve G sütunlarının görünümden gizlendiğini göreceksiniz.

VBA Sütunları Gizle - Örnek 3 - Adım 5

İşte tam kod:

Sub HideMultipleColumns()
' D'den G'ye kadar olan sütunları gizle Sütunlar
(“D:G”).Hidden = True
End Sub


Örnek 4 – Tek Hücreli Sütunları Gizle:

Bu örnekte amacımız, tek bir hücrenin (E1) içeriğine dayanarak bir sütunu (bu durumda sütun E) gizlemektir.

VBA Sütunları Gizle - Örnek 4

Adım 1: HideColumnWithSingleCell adında bir VBA alt rutini oluşturuyoruz.

VBA Sütunları Gizle - Örnek 4 - Adım 1

Adım 2 : Alt rutin içerisinde, E1 hücresinin boş olup olmadığını kontrol etmek için IsEmpty fonksiyonunu kullanıyoruz.

VBA Sütunları Gizle - Örnek 4 - Adım 2

Adım 3 : Eğer E1 hücresi gerçekten boşsa koşullu bloğa geçiyoruz.

Adım 4: Koşullu blok içerisinde, E sütununu gizlemek için Columns özelliğini kullanıyoruz.

VBA Sütunları Gizle - Örnek 4 - Adım 3

Adım 5: Bu makroyu çalıştırdığınızda, E1'in veri içerip içermediği incelenir; boşsa, E sütunu gizlenir. Aksi takdirde, görünür kalır.

VBA Sütunları Gizle - Örnek 4 - Adım 5

İşte tam kod:

Sub HideColumnWithSingleCell()
' E1 hücresi boşsa E sütununu gizle
If IsEmpty(Range(“E1”)) Then
Columns(“E:E”).Hidden = True
En If
End Sub


Örnek 5 – Her Alternatif Sütunu Gizle:

Bu örnek, B sütunundan başlayarak her diğer sütunun nasıl gizleneceğini göstermektedir. Aşağıda, bir çalışma sayfasında bazı veriler bulunmaktadır.

Adım 1: HideAlternativeColumns adında bir VBA alt rutini oluşturuyoruz.

VBA Sütunları Gizle - Örnek 5 - Adım 1

Adım 2: Alt rutin içerisinde “col”u bir tamsayı olarak tanımlıyoruz ve sütun dizinleri arasında yineleme yapmak için col adlı bir döngü değişkeni tanımlıyoruz.

Örnek 5 - Adım 2

Adım 3: Döngü 2. indekste (B sütununa karşılık gelir) başlar ve her yinelemede 2'şer artar. Etkili bir şekilde her ikinci sütunu hedefler.

Örnek 5 - Adım 3

Adım 4: Döngünün her yinelemesinde, col değişkeni tarafından belirtilen sütunu gizlemek için Columns özelliğini kullanırız.

Örnek 5 - Adım 4

Adım 5: Bu makroyu çalıştırdığınızda B, D, F vb. sütunlar gizlenecek ve diğer tüm sütunlar gizlenecektir.

VBA Sütunları Gizle - Örnek 5 - Adım 5

İşte tam kod:

Sub HideAlternativeColumns()
Dim col As Integer
‘ Loop through columns and hide every other column starting from column B
For col = 2 To Columns.Count Step 2
Columns(col).Hidden = True
Next col
End Sub

Örnek 6 – Her Boş Sütunu Gizle

Bu örnek, yalnızca boş hücreler içeren sütunların nasıl gizleneceğini gösterir. Bu örnekte, K sütunu ve N'den sonraki her sütun boştur.

Örnek 6

Adım 1: HideEmptyColumns adında bir VBA alt rutini oluşturuyoruz.

VBA Sütunları Gizle - Örnek 6 - Adım 1

Adım 2: Alt rutin içerisinde, sütun dizinleri arasında yineleme yapmak için col döngü değişkenini kullanırız .

Örnek 6 - Adım 2

Adım 3: Döngü 1. indeksten başlar ve tüm sütunları kapsar. Burada Columns.Count sütunların sayısını bulur.

Örnek 6 - Adım 3

Adım 4 : Döngünün her yinelemesinde, geçerli sütundaki (Columns(col)) boş olmayan hücreleri saymak için WorksheetFunction.CountA işlevini kullanırız.

Örnek 6 - Adım 4

Adım 5 : Sayım 0 ise (yani tüm hücreler boşsa), o sütunu gizlemek için Columns özelliğini kullanırız.

Örnek 6 - Adım 5

Adım 6: Bu makroyu çalıştırmak, veri içermeyen tüm sütunları gizler. Bu örnekte, K sütununun ve N'den sonraki her sütunun, herhangi bir veri içermediği için gizlendiğini görebilirsiniz.

VBA Sütunları Gizle - Örnek 6 - Adım 6

İşte tam kod :

Sub HideEmptyColumns()
Dim col As Integer
' Sütunlar arasında döngü yap ve sütundaki tüm hücreler boşsa gizle
For col = 1 To Columns.Count
If WorksheetFunction.CountA(Columns(col)) = 0 Then
Columns(col).Hidden = True
End If
Next col
End Sub


Örnek #7 – Hücre Değerine Göre Sütunları Gizle

Bu örnekte amacımız ilk satırdaki belirli hücre değerlerine göre sütunları gizlemektir.

Adım 1: HideColumnsBasedOnCellValue adlı bir VBA alt rutini oluşturuyoruz. Ve hücreyi aralık olarak bildiriyoruz.

Örnek 7 - Adım 1

Adım 2: Bu alt rutin içerisinde, ilk satırdaki hücreler arasında yineleme yapmak için For Each döngüsünü kullanırız.

Örnek 7 - Adım 2

Adım 3: Döngüde karşılaşılan her hücre için değerini kontrol ediyoruz.

Adım 4: Hücrenin değeri “Gizle” değerine eşitse koşullu bloğa giriyoruz.

Örnek 7 - Adım 4

Adım 5: Koşullu bloğun içerisinde, hücreye karşılık gelen tüm sütuna erişmek için EntireColumn'ı kullanırız ve .Hidden özelliğini True olarak ayarlarız.

VBA Sütunları Gizle - Örnek 7 - Adım 5

Adım 6: Bu makroyu çalıştırdığınızda, ilk satırdaki ilgili hücrenin “Gizle” değerini içerip içermediğine bağlı olarak sütunları gizler.

Örnek 7 - Adım 6

İşte tam kod:

Sub HideColumnsBasedOnCellValue()
Dim cell As Range
‘ 1. satırdaki hücreler arasında döngü kur ve hücre değerine göre sütunları gizle
For Each cell In Range(“1:1”)
If cell.Value = “Hide” Then
cell.EntireColumn.Hidden = True
End If
Next cell
End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  1. Gizli bir sütunu göstermek için .Hidden özelliğini False olarak ayarlayabilirsiniz.
  2. VBA Sütun Numaralarını Kullanarak Sütunları Gizle'yi kullanarak, sütun numaralarını belirterek doğrudan sütunları gizleyebilir ve Excel çalışma sayfanızdaki veri görünürlüğünü kontrol etmenin basit ve kesin bir yolunu sağlayabilirsiniz.
  3. Çalışma sayfanızdaki veri görünürlüğü üzerinde dinamik kontrol sağlamak için, Excel'deki sütunları belirli hücre değerlerine göre gizlemek üzere VBA Hücre Değerine Göre Sütunları Gizle yöntemini kullanabilirsiniz.



Yorum Gönder

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