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

Gün farkında ayın gün sayıları değiştiğini için (28 gün 29 gün 30 gün 31 gün) sorun çıkar. Ama ayı 2 ay geri yaparsanız sorun olmaz.
__________________
excel 2010- türkçe
askm Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 22:26   #22
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

hocam yani 60 mı yapayım gün farkını. 10 yerine 60 mı?
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 22:54   #23
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,074
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Tekrar merhaba.

Bir de küçük userformdaki düğmenin kodlarını aşağıdakiyle değiştirerek deneyin.
ŞABLON, SİSTEM, Sayfa1 gibi tarih olmayan sayfalara dokunulmaz,
bugünden ileri tarihli sayfalar ile içinde bulunduğumuz aydan 2 eksik aya ait sayfalar silinir.

NOT: Denemeler yaparken küçük userformun özelliklerinden ShowModal kısmını False yaparsanız,
form ekranda iken de sayfada işlem (yeni sayfa ekleme gibi denemelerde yararlı olur) yapabilirsiniz.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton3_Click()
TextBox1 = Format(Date, "dd.mm.yyyy")
If TextBox1.Value = "" Then
    MsgBox ("Sayfa ismi boş geçilemez! Lütfen sayfa ismi yazınız.")
    Exit Sub
End If 'textboxu boş geçmeme

Dim s As Integer
For s = Sheets.Count To 1 Step -1
    If Len(Sheets(s).Name) = 10 Then
        If IsDate(Sheets(s).Name) And (Month(Date) - Month(CDate(Sheets(s).Name)) > 1 Or CDate(Sheets(s).Name) > Date) Then
            Application.DisplayAlerts = False
                Sheets(s).Delete
            Application.DisplayAlerts = True
        End If
    End If
Next
 Dim S1 As Worksheet
    If TextBox1 = "" Then
        MsgBox "Lütfen sayfa ismi giriniz!", vbCritical
        TextBox1.SetFocus
        Exit Sub
    End If
    On Error Resume Next
    Set S1 = Sheets(TextBox1.Text)
    On Error GoTo 0
    If S1 Is Nothing Then
        Sheets("ŞABLON").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = TextBox1.Text
    Else
        MsgBox TextBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
        With TextBox1
            .SetFocus
            .SelStart = 0
            .SelLength = (Len(.Text))
        End With
    End If
        Set S1 = Nothing
'        MsgBox "Sayfa oluşturuldu."
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 11-08-2017, 23:04   #24
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

))))))

ömer hocam işte bu ya işte buuu. )))

sizin değerli emeğinize ne kadar iltifat etsem azdır inanın. sonunda muazzam bir çalışma oldu. hepinizin sayesinde. emeklerinize sağlık ne desem az kalır. çok çok teşekkür ederim emeği geçen herkee bu konuda.

siz ve askm hocamın bu konuda emeği gerçekten çok büyük.
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 23:09   #25
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

hocam peki burdaki kodda 2 ay eksik gün olduğunu hangi satır gösteriyor.
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-08-2017, 23:35   #26
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,074
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Son sorduğunuz soru: önceki cevabımdaki kod'da kırmızı renklendirdim ( >1 ise ...)
İleri tarihlerin silinmesi ise aynı satırda OR'dan sonrası.

Bir de tarih şeklinde ismi olan sayfaları büyüklük sırasına sıralamak için makyaj kod'u vereyim.
(Tabi ismi tarih olmayanları en sola kendiniz alacaksınız)
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub SIRALA()
Dim sayfa As Variant
Dim syf As Variant
Application.ScreenUpdating = False
    For Each sayfa In ActiveWorkbook.Sheets
        For syf = 2 To ActiveWorkbook.Sheets.Count
            On Error Resume Next
            If CDate(Sheets(syf - 1).Name) > CDate(Sheets(syf).Name) Then
                Sheets(syf - 1).Move After:=Sheets(syf)
            End If
        Next
    Next
Application.ScreenUpdating =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 11-08-2017, 23:41   #27
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

ömer hocam siz benim düşüncelerimi okuyorsunuz sanki bir ara bununla ilgili sormuştum ama cevap bulamadım sanırım bu kod işe yarayacak gibi. sıralam kodu yani. bilginiz üzere tarih seçtiğimiz combobox 10 vardı anakasa userformında. son eklediğim tarihi en üstte göstersin diye. yani büyükten küçüğe sıralama ölüçütü. bunuda excel kitabımdaki isimleri soraya dizmekle mümkümdü sanırım bu kod onun için on numara oşacak gibi
zulfuernek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-08-2017, 11:09   #28
zulfuernek
 
Giriş: 24/06/2017
Şehir: elazığ
Mesaj: 304
Excel Vers. ve Dili:
türkçe
Varsayılan

If IsDate(Sheets(s).Name) And (Month(Date) - Month(CDate(Sheets(s).Name)) > 1 Or CDate(Sheets(s).Name) > Date) Then

ömer hocam burası neden hata veriyor acaba
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 22:16


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

Excel Eğitimi - Mobil Uygulama - Çorlu - Torna - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Çorlu Temizlik- Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- 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- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Su Deposu Temizliği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden