Sayfa sil

Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
İyi geceler
Çalışma Kitabımın içindeki "Araçlar" ve "Kilometre" dışındaki tüm sayfaları makro ile nasıl silerim?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sn kombo aşağıdaki kodları deneyebilirsiniz

Kod:
Sub sayfalarısil()
Application.DisplayAlerts = False
For Each sayfa In ThisWorkbook.Worksheets
If Not sayfa.Name = "Araçlar" Then
If Not sayfa.Name = "Kilometre" Then
sayfa.Delete
End If
End If
Next sayfa
Application.DisplayAlerts = True
End Sub
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Sayın Ali
Gündüzleri İnternete giremiyorum (istisnalar hariç). Yeni cevap yazabiliyorum. Kodlar için teşekkür ederim.
Kodlar küçük bir problem dışında çalıştı. Problemi yazayım da hem gerçek nedenini öğreneyim hem de kullanmak isteyen arkadaşlarda aynı hataya düşmesin.
Kodları şöyle düzelttim.

Kod:
Sub sayfalarısil()
Application.DisplayAlerts = False
For Each [COLOR=red]say[/COLOR] In ThisWorkbook.Worksheets
If Not [COLOR=red]say[/COLOR].Name = "Araçlar" Then
If Not [COLOR=red]say[/COLOR].Name = "Kilometre" Then
[COLOR=red]say[/COLOR].Delete
End If
End If
Next [COLOR=red]say[/COLOR]
Application.DisplayAlerts = True
End Sub
Sizin yazmış olduğunuz sayfa değişkenini herhalde bir vba prosedürü olarak görüyor (benim tesbitim, gerçek nedenini bilmiyorum) ve otomatik olarak büyük harfe geçip hata veriyordu.
Tekrar teşekkür ederim.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sizin yazmış olduğunuz sayfa değişkenini herhalde bir vba prosedürü olarak görüyor (benim tesbitim, gerçek nedenini bilmiyorum) ve otomatik olarak büyük harfe geçip hata veriyordu.
Sheets olarak ingilizcesi olsa idi sanırım sorun olurdu bende sorunsuz çalıştı.Sayfa adlı isimi sadece bir nesne adı olarak düşünün. O nedenle VBA kullandığımız sheet adını Türkçe sayfa olarak algılaması gibi bir duruma hiç rastlamadım.

İşinizi görmüş olması sevindirdi. Saygılar. İyi çalışmalar.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,373
Excel Vers. ve Dili
Ofis 365 Türkçe
Bende ilk defa sheet(sayfa) silen makro yazmaya çalıştım.

döngüyü 1 den başlatıp son sayfa ya kadar silerek gitmesi hata verdi, o yüzden döngüyü sayfa sayısından başlatıp 1 e kadar devam etmesi şeklinde yaptığımda hatasız çalıştı.

Kod:
Public Sub Sheet_Sil()
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
    If Sheets(i).Name <> "Ara&#231;lar" And Sheets(i).Name <> "Kilometre" Then
        Sheets(i).Delete
    End If
Next i
End Sub
 
Üst