![]() |
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
S
ub 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?
- Önce ismeGoreSayfaSil adında bir sub tanımladık. Bu sub'u bir butona atayacağız ve buton tıklandığında çalışacak.
- silinecekSayfa adında string tipinde bir değişken tanımladık.
- 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.
- Excel'in sayfayı silmeden önce uyarı vermesi için Application.DisplayAlerts değerini True olarak tanımladık.
- Sayfayı sil komutunu çalıştırdık.
Excel VBA ile Sayfa Silmeye Neden İhtiyaç Duyarsınız?
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
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.
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.
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
Manuel işlemlere harcanan zamanda %85'e varan azalma.