Excel VBA Sayfayı Sil
Sayfayı VBA'da Silmek için Çalışma Sayfasını Sil yöntemimiz var. Bu yöntemi uygulamak için önce sayfa adını çağırarak hangi sayfayı sildiğimizi belirlememiz gerekir. Aynısını yapmak için iki yöntemimiz var önce doğrudan sheet1.delete yazıyoruz ve ikinci yöntem sheet (sayfa1) .delete.
Dolayısıyla sözdizimi aşağıdaki gibidir.
Çalışma Sayfaları ("Çalışma Sayfası Adı"). Sil
VEYA
Sayfalar ("Sayfa Adı"). Sil
Bu yüzden, önce biz birini kullanarak sayfa adını belirtmeniz gerekir Çalışma Sayfası veya Sheets sonra sonra, Nesne, kullanabileceğimiz “Sil” yöntemi.

VBA Kodunu Kullanarak Excel Sayfaları Nasıl Silinir?
Örnek 1 - Adını kullanarak Çalışma Sayfasını Silin
Birçok sayfanız olduğunu varsayalım ve belirli çalışma sayfasını silmek için, çalışma sayfasını adıyla belirtmemiz gerekir. Örneğin, "Satış 2016", "Satış 2017" ve "Satış 2018" adlı 3 farklı sayfam var.
" Satış 2017 " adlı sayfayı silmek istersem , aşağıdaki gibi pafta adını belirtmem gerekir.
Kod:
Alt Delete_Example1 () Çalışma Sayfaları ("sayfalar 2017"). Sub
Çalışma sayfası adını doğrudan belirtmekle ilgili sorun, VBA'nın IntelliSense listesini göremiyoruz. Her durumda yöntemi " Sil " olarak belirtin.
Kod:
Sub Delete_Example1 () Çalışma Sayfaları ("sayfalar 2017"). End Sub'ı Sil
Bu, " Satış 2017 " adlı sayfayı silecektir .
Çalışma Sayfasını Silerken Hata: Var olmayan çalışma sayfasını silmeye çalışırsak veya çalışma sayfası adını yanlış belirtirsek , "Abonelik Aralık Dışında" olarak VBA hatasını alacağız .

Yukarıda, "Abonelik Aralık Dışında" hatası aldım çünkü çalışma kitabımda "Satış 2017" adlı bir sayfa adı yok.
Örnek 2 - Çalışma Sayfasını Değişkenlerle Adına Göre Silin
Yukarıdaki örnekte gördüğümüz gibi, Çalışma Sayfaları nesnesini kullanarak çalışma sayfası adına başvurduğumuz anda IntelliSense listesini göremiyoruz. IntelliSense listesini görmek için değişkenler kullanmamız gerekiyor.
Adım 1: İlk olarak, değişkeni Çalışma Sayfası olarak bildirin .
Kod:
Alt Sil_Örnek2 () Çalışma Sayfası Sonu Alt Olarak Dim W

Adım 2: Çalışma sayfası bir nesne değişkeni olduğundan, değişkeni " SET " kelimesini kullanarak belirli çalışma sayfasına ayarlamamız gerekir .
Kod:
Sub Delete_Example2 () Dim Ws as Worksheet Set Ws = Worksheets ("Sales 2017") End Sub

Şimdi "Ws" değişkeni, "Satış 2017" adlı çalışma sayfasını ifade ediyor.
Adım 3: Şimdi, " Ws " değişkenini kullanarak , çalışma sayfasının tüm IntelliSense listesine erişebiliriz.
Kod:
Sub Delete_Example2 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales 2017") Ws. Sub

Adım 4: IntelliSense listesinden " Sil " yöntemini seçin.
Kod:
Sub Delete_Example2 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales 2017") Ws.Delete End Sub

Değişkenleri kullanarak bunun gibi, IntelliSense listesine erişebiliriz.

Örnek 3 - Etkin Çalışma Sayfasını Silin
Etkin Sayfa, şu anda etkin olan veya seçilen çalışma sayfasından başka bir şey değildir. Bu yöntem için, çalışma sayfası adını belirtmemize gerek yoktur. Örneğin, aşağıdaki VBA koduna bakın.
ActiveSheet.Delete
Şu anda aktif sayfa "Satışlar 2017" dir.

Kodu çalıştırırsam, aktif sayfa, yani "Satış 2017" siler.
Şimdi “2016 Satışları” nı seçeceğim.

Şimdi aktif sayfayı, yani “2016 Satışları” siler.
Like this, we can use the “Active Sheet” object to delete the worksheet.
Note: To use this method, we need to absolutely sure of what we are doing with the Active Sheet and which sheet is going to be an active sheet.
Example #4 - Delete More than One Worksheet
In our above examples, we have seen how to delete a single sheet, but what if we have multiple worksheets? Let’s say we want to delete 10 worksheets.
We cannot keep writing 10 lines of code to delete the worksheet, so we need to use loops to loop through the collection of worksheets and delete them.
The below code will loop through the worksheets and delete all the worksheets in the workbook.
Code:
Sub Delete_Example2() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Delete Next Ws End Sub
Yukarıdaki kod, çalışma kitabındaki tüm sayfaları silmeye çalıştığı için bir hata verecektir. Bundan kaçınmak için en az bir çalışma sayfası tutmamız gerekiyor.
Aktif sayfa dışındaki tüm çalışma sayfalarını silmek istiyorsak aşağıdaki kodu kullanmamız gerekir.
Kod:
Sub Delete_Example2 () ActiveWorkbook.Worksheets'teki Her Çalışma Sayfası İçin Çalışma Sayfası Olarak Dim Ws ActiveSheet.Name ise Ws.Name Sonra Ws.Delete If Next Ws End Sub
Benzer şekilde, belirli bir çalışma sayfasını değil, diğer tüm çalışma sayfalarını silmek istiyorsak, aşağıdaki kodu kullanabiliriz.
Kod:
Sub Delete_Example2 () ActiveWorkbook.Worksheets'teki Her Çalışma Sayfası İçin Çalışma Sayfası Olarak Dim Ws.Name Eğer Ws.Name "Sales 2018" Sonra 'Çalışma sayfası adını değiştirebilirsiniz Ws.Delete End If Next Ws End Sub
Yukarıdaki kod, "Satış 2018" adlı çalışma sayfası dışındaki tüm çalışma sayfalarını silecektir.
