Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 10-08-2017, 00:24   #1
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan sheet silme

Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
If IsNumeric(Sheets(i).Name) Then Sheets(i).Delete
Next

yukarıdaki kodla excel kitabında bulunan ve sheet isminde rakam olan sayfaları silebiliyorum.

ancak istediğim şu. rakam içeren tüm sheetleri silmektense textboxa yazdığım rakamları içeren sheetleri silsin.

mesela 12.01.2017 ve 11.03.2018 tarihli sheetler var ve bu kod bütün sheetleri siliyor. benim amacım textbox1 e yazdığım rakamlı olanı silsin. mesela 2017 yazınca sadece 2017 leri silsin.
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-08-2017, 01:59   #2
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,311
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Silinecek sayfa adı TextBox'a tam olarak aynı yazılacaksa aşağıdaki gibi olabilir.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()
On Error Resume Next
Application.DisplayAlerts = False
    Sheets(TextBox1.Text).Delete
Application.DisplayAlerts = True
End Sub
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-08-2017, 11:21   #3
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

ömer hocam bu formül ayrı bitr buton işimi görür. fakat tek tek sayfaları silmeye yarıyacaktır.
benim istediğim ise textboxa 2017 yazdığım zaman 2017 yılına ait sheetlerde 2017 yazan tüm shhetleri silmesi.
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-08-2017, 11:41   #4
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()
On Error Resume Next
Application.DisplayAlerts = False
For Each sayfa In Worksheets
    
    sayfaadi = InStr(1, sayfa.Name, "2017")
    If sayfaadi > 0 Then
        Sheets(sayfa.Name).Delete
    End If
Next
Application.DisplayAlerts = True
MsgBox "Sayfalar silindi...", vbInformation, "ASKM"
End Sub
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 10-08-2017, 11:48   #5
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Aşağıdaki kod ile de size içerecek kelimeyi sorup siliyor.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()
On Error Resume Next
Application.DisplayAlerts = False
SilinecekSayfa = Application.InputBox("Lütfen silinmesini istediğiniz sayfa adını yazın...", "Sayfa ismi - ASKM")
For Each sayfa In Worksheets
    
    sayfaadi = InStr(1, sayfa.Name, SilinecekSayfa)
    If sayfaadi > 0 Then
        SilinenSayfaSayisi = SilinenSayfaSayisi + 1
        Sheets(sayfa.Name).Delete
    End If
Next
Application.DisplayAlerts = True
If SilinenSayfaSayisi > 0 Then
    MsgBox SilinenSayfaSayisi & " adet " & SilinecekSayfa & " içeren sayfa silindi...", vbInformation, "ASKM"
Else
    MsgBox SilinecekSayfa & " kelimesini içeren sayfa bulunamadı...", vbInformation, "ASKM"
End If
End Sub
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 10-08-2017, 12:25   #6
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

askm hocam çok harika olmuş gerçekten tam istediğim gii hatta istediğimden ötesi ben textboxla silmeyi düşünüyordum siz msg boxla sildirmişsiniz. harika olmuş
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-08-2017, 12:42   #7
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Rica ederim. İyi çalışmalar.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 10-08-2017, 18:15   #8
unlimitted
Altın Üye
 
Giriş: 07/01/2015
Şehir: ankara
Mesaj: 247
Excel Vers. ve Dili:
2013 english
Varsayılan

Sayın askm,
bu çalışma benzeri bir çalışma olarak mesela sayfa ismi içeriğinde "ceviz" kelimesi geçen sayfa sayısını A1'e, "elma" kelimesi geçen sayfa sayısını A2'ye yazdırmak için ne yapmak gerekir acaba?
Teşekkürler.
unlimitted Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-08-2017, 19:03   #9
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Aşağıdaki şekilde yazabilirsiniz.Çizgi içerisindeki alanı çoğaltarak istediğiniz sayfa sayılarını alabilirsiniz.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()
On Error Resume Next
Application.DisplayAlerts = False
For Each sayfa In Worksheets

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''    
    sayfaadi = InStr(1, sayfa.Name, "Ceviz")
    If sayfaadi > 0 Then
        Ceviz = Ceviz + 1
    End If
Next
ActiveCell = Ceviz 'Bulunduğunuz satıra yazar.
'Sabit bir sayfanın A1 hücresine yazması için aşağıdaki kodu kullanın
'Sheets("Sayfa6").Range("A1") = ceviz 'Baştaki tek tırnağı kaldırın.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Application.DisplayAlerts = True
MsgBox Ceviz & " adet Sayfası vardır ...", vbInformation, "ASKM"
End Sub
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 10-08-2017, 19:27   #10
unlimitted
Altın Üye
 
Giriş: 07/01/2015
Şehir: ankara
Mesaj: 247
Excel Vers. ve Dili:
2013 english
Varsayılan

Teşekkür ederim.
unlimitted Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 20:28


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon- Çorlu Dans- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden