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, 19:28   #11
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Rica ederim.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 11-08-2017, 08:39   #12
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

farklı bi koda daha ihtiyacım var.
elimde ayın her günü için bir sheet olan çalışma kitabım var.
userform açılınca o günün tarihine ait sayfa açmak için buton ekledim ve butona tıklayınca o günün tarihiyle bir sheet açıyor.
gerekli olan şu. mesela 8.ayın 10 undan sonrasına ait bir dosya açılırsa 7. aya ait tüm sheetleri silsin. 9.ayın 10 umdan sonrasına ait shhet açılırsa 8. aya ait sheetleri silsin. her ay bu döngüyü sağlamalı.
saygılarımla
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 08:54   #13
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Örnek dosyanızı eklerseniz dilediğiniz işlemi yaptırmaya çalışalım.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 11-08-2017, 09:14   #14
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

aslında eksik söyledim askn hocam. bir önceki aya ait sheeti değilde mesela 10. ayın 10 undan sonra dosya varsa geçmiş aylara ait tüm shhetleri diyeyim 9. ay ve daha eski aylara ait. örnek dosyayıda akşam buraya ekleyeceğim. iş yerinde olduğum için yükleme sitelerini açamıyorum
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 10:31   #15
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,698
Excel Vers. ve Dili:
2010-2016
Varsayılan

Mantık olarak izah edeyim.
Eğer ayın tüm günlerine 01.08.2017, 02.08.2017 şeklinde tarih girerek sayfa oluşturuyorsanız 7 ay ve önceki ayların sayfalarını direkt kodla silebiliriz.
Eğer 1 ağustos, 2 ağustos gibi ay ismi kullanıyorsanız o zaman yardımcı sayfa ya da sütun kullanmak gerekebilir. Bu yüzden örnek dosyanız olursa daha net çözüm alabiliriz.

Not: Ekleyeceğiniz belge asıl dosyanız ise ya da herkesle paylaşmak istemediğiniz bilgiler mevcutsa özelden yazabilir ya da "askmadige34 hotmail" adresine mail atabilirsiniz.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 11-08-2017, 12:49   #16
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

size mail olarak göndereceğim askm hocam. ay rakam olarak giriliyor. 01.07.2017 gibi
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 13:59   #17
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,313
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Merhaba.

Belgenizdeki GİRİŞ adlı küçük UserFormun CommandButton3 (GÜN OLUŞTUR) düğmesinin kodlarında,
aşağıdaki kırmızı satırların arasına mavi olanları ekleyerek dener misiniz?
►►Kod'da kriter olan 10 gün farkını değiştirerek geriye doğru kaç günlük sayfayı tutup diğerlerini sileceğinizi belirleyebilirsiniz.
Gerçi fark gün sayısını belirledikten sonra, mevcut sayfanın günü kontrol etmeye gerek olmayacaktır.
Duruma göre tekrar değişiklik yapılabilir.

NOT: Siyah renklendirdiğim MsgBox satırı adı kontrol edilen sayfa ve gün farkını görmeniz içindir.
Yapılan işlemin doğruluğundan emin olunca MsgBox satırını silin.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
        Sheets("ŞABLON").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = TextBox1.Text
        
        
Dim tarih, starih As Date
Dim s, gun, fark As Integer
    tarih = DateSerial(Right(TextBox1.Text, 4), Mid(TextBox1.Text, 4, 2), Left(TextBox1.Text, 2))
        For s = Sheets.Count To 1 Step -1
            Application.DisplayAlerts = False
            On Error Resume Next
                If IsNumeric(Left(Sheets(s).Name, 2)) And Len(Sheets(s).Name) = 10 Then
                    starih = DateSerial(Right(Sheets(s).Name, 4), Mid(Sheets(s).Name, 4, 2), Left(Sheets(s).Name, 2))
                    fark = tarih - starih
                    gun = Day(CDate(TextBox1.Text))
                    MsgBox "Adına Bakılan TARİH: " & Sheets(s).Name & "  GÜN: " & gun & "   / FARK: " & fark
                        If fark > 10 And gun > 10 Then
                            Sheets(s).Delete
                        End If
                        fark = 0: gun = 0
                End If
            Application.DisplayAlerts = True
        Next
        
        
    Else
        MsgBox TextBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
__________________
.
☾✭ İ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 11-08-2017, 15:06   #18
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,313
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Ayrıca amacınız sayfaları silmekten ziyade ANAKASA formundaki gün seçimi yapılan Combobox'ta açılan listenin uzamasını engellemek ise;
son tarihten geriye doğru belli (istediğiniz) sayıda tarihin görüntülenmesi de sağlanabilir.

Bence SİLMEK yerine az tarih GÖRÜNTÜLEMEyi tercih etmelisiniz.
.
__________________
.
☾✭ İ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 11-08-2017, 17:33   #19
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

sayın ömer hocam verdiğiniz kod gayet güzel çalışıyor ancak ufak bir sorun va. bildiğiniz üzere sistem dosyalarımıda siliyor. yani sadece numeric olanları silmesiiçin ne yapmamız gerekli
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 23:06   #20
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

ömer bey kodu şimdi inceledim ve uyguladım. shhetlerin isimlerini gösterifoyr farklarını gösteriyor ancak 10 günden eski olanları silmiyor. sadece msgboxta günsay yapıyor.
zulfuernek Ç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 15:23


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