Excel VBA ile Sayfa Silme Nasıl Yapılır?

Excel VBA ile sayfa silme
Excel'de Sayfa Silme Makrosu

Herkese selamlar. Bugün, Excel'de VBA ile sayfa silmeyi nasıl yapacağımızı anlatmaya çalışacağım. Excel dosyalarınızda kullanmadığınız sayfaları manuel silmek zaman kaybı yaratabilir. Bu yazıda, Excel VBA ile sayfa silme işlemlerini otomatikleştirerek hem tek tek hem de topluca sayfa silmeyi nasıl gerçekleştirebileceğinizi adım adım gösteriyorum. 

Önceki Excel yazılarında olduğu gibi, bugün de önce excel sayfa silme makrosunu vereceğim. Ondan sonra kodun nasıl çalıştığını adım adım anlatacağım. Sonra nerelerde kullanabileceğinize bakacağız. Bu kez yazının sonunda excel vba ile sayfa silme makrosunu içeren dosyanın indirme bağlantısına da ulaşabileceksiniz. Hazırsanız, buyrun makroya... 😊

Excel VBA ile Sayfa Silme

Sub ismeGoreSayfaSil()

    Dim silinecekSayfa As String

    silinecekSayfa = Range("A2").Value

    Application.DisplayAlerts = True

    Sheets(silinecekSayfa).Delete

End Sub

Excel Sayfa Silme Makrosu Nasıl Çalışır?

  1. Önce ismeGoreSayfaSil adında bir sub tanımladık. Bu sub'u bir butona atayacağız ve buton tıklandığında çalışacak.
  2. silinecekSayfa adında string tipinde bir değişken tanımladık.
  3. silinecekSayfa değişkenini, A2 hücresinin değeriyle eşitledik. A2 hücresinde değer yoksa ya da olan değer mevcuttaki sayfalardan birinin adıyla aynı değilse kod hata verecektir.
  4. Excel'in sayfayı silmeden önce uyarı vermesi için Application.DisplayAlerts değerini True olarak tanımladık.
  5. Sayfayı sil komutunu çalıştırdık. 

Excel VBA ile Sayfa Silmeye Neden İhtiyaç Duyarsınız?

Açıkçası, iş yerinde kullandığımız yazılımların ürettiği Excel çıktılarında çalışırken hiç ihtiyaç duymayacağımız 10'dan fazla sayfa da varsayılan olarak geliyor. Bu kadar çok ihtiyaç duyulmayan sayfanın olması bizim işimizi zorlaştırıyor. Benzer bir durum görsellerde de yaşanıyordu. Ona da Excel VBA ile sayfadaki görselleri temizleme başlığında kısaca değinmiştim.

Bu kadar gereksiz sayfayı, görselleri ve sayfadaki boş satırları temizleyerek işe başlamak dosyaların boyutunu epey küçültüyor. Hem dosyanın transferinde hem de içindeki veride işlem yapmakta epey zaman kazanılıyor. Siz de benzer bir durumda bu makroyu kullanabilirsiniz. Çoklu sayfa silme işlemi için de bonus kısmında verdiğim birden fazla sayfayı silme makrosunu kullanıyorum. Sayfa isimleri zaten yazılım tarafından standart bir şekilde verildiğinden, gereksiz sayfaların adlarını tuttuğum sayfadan kopyalayıp makroyu çalıştırıyorum. Ve hoooop, gereksiz sayfalar buhar. 😀

Bonus: Birden Fazla Sayfayı Silmek İçin Excel Makrosu

Sub ismeGoreBirdenFazlaSayfaSil()
    Dim silinecekSayfa As String
    Dim aralik As Range
    Set aralik = Application.InputBox(Prompt:="Lütfen silinecek sayfaların yer aldığı aralığı seçin", Type:=8)
    For Each hucre In aralik
        silinecekSayfa = hucre.Value
        Application.DisplayAlerts = True
        Sheets(silinecekSayfa).Delete
    Next hucre

End Sub

Kodu tekrar anlatmayacağım. Sadece ilave olan kısımları hızlıca not edeyim. Kullanıcıdan aralık seçimi yapmasını isteyen bir inputbox koyduk. Sonra o aralıktaki hücrelerin değerleriyle aynı ismi taşıyan sayfaları sildik. Birden fazla sayfayı silmek için kullanacağınız makroya, önceki makrodan farklı olarak bir döngü ve bir aralık eklemiş olduk yani.

Excel Sayfa Silme Makrosunu İndirin

Önceki yazılarda makroların olduğu dosyaları neden paylaşmadığımı bilmiyorum. Ama bu yazıda, hem tek sayfa silme makrosunun hem de birden fazla sayfa silme makrosunun yer aldığı Excel dosyasını da Github'a yükledim, buraya tıklayarak indirebilirsiniz. Alıp inceleyip, kendinize göre özelleştirip dilediğiniz gibi kullanabilirsiniz.


Excel'de Verimliliği Artırın

VBA makroları ile gereksiz sayfaları otomatik olarak temizleyerek zaman kazanın ve dosya boyutlarını küçültün.

Karşılaşılan Temel Sorunlar

📋

Gereksiz Sayfa Yığını

Yazılım raporları genellikle onlarca kullanılmayan, varsayılan sayfa ile gelir.

💾

Büyük Dosya Boyutları

Fazla sayfalar ve içerikler dosya boyutunu artırarak transferi yavaşlatır.

⏱️

Boşa Harcanan Zaman

Her seferinde bu sayfaları manuel olarak silmek değerli vaktinizi alır.

Çözüm 1: Tek Bir Sayfayı Otomatik Silme

Bu makro, A2 hücresine yazdığınız sayfa adını bularak anında siler. Hızlı ve etkilidir.

Başlat
A2 Hücresindeki Adı Oku
İlgili Sayfayı Bul ve Sil
Bitir
Sub ismeGoreSayfaSil() Dim silinecekSayfa As String silinecekSayfa = Range("A2").Value Application.DisplayAlerts = True Sheets(silinecekSayfa).Delete End Sub
Sub ismeGoreBirdenFazlaSayfaSil() Dim silinecekSayfa As String Dim aralik As Range Set aralik = Application.InputBox( _ Prompt:="Lütfen silinecek sayfaların yer aldığı aralığı seçin", _ Type:=8) For Each hucre In aralik silinecekSayfa = hucre.Value Application.DisplayAlerts = True Sheets(silinecekSayfa).Delete Next hucre End Sub

Çözüm 2: Toplu Sayfa Silme

Silmek istediğiniz tüm sayfa adlarını bir listeye yazın. Bu makro, seçtiğiniz listedeki tüm sayfaları tek seferde temizler.

Başlat
Kullanıcıdan Aralık Seçmesini İste
Döngü: Seçilen Her Hücre İçin
Sayfayı Sil
Bitir

Makroların Etkisi: Önce ve Sonra

Karşılaştırma

🗂️

Önce

Dağınık ve Yavaş

📄

Sonra

Düzenli ve Hızlı

Makrolar, karmaşık dosyaları saniyeler içinde sade ve yönetilebilir hale getirir.

Kazanılan Verimlilik

85%
Kazanılan Zaman
Harcanan Zaman

Manuel işlemlere harcanan zamanda %85'e varan azalma.

Bu interaktif infografik, Excel'de verimliliği artırma yöntemlerini göstermek için tasarlanmıştır.

Tüm hakları saklıdır. © 2025

Daha yeni Daha eski

İletişim Formu