• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makrolu Sayfaları Silme ve Makrolarını Temizleme

  • Konbuyu başlatan Konbuyu başlatan teyadih
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Merhaba arkadaşlar aşağıda gönderdiğim makrolu bir programım var. Açılışta zamanı gelen hatırlatmalar varsa önce hatırlatma sayfasını gösteriyor tamam dediğimde ise izin giriş sayfasına gidiyor. ondan sonrada birbiriyle bağlantılı bir çok sayfalar var. Ben sizden bu dosyadaki bazı sayfalar ile makrolarını bırakıp diğer sayfa ve makrolarının silindiği 2 farklı örnek dosya istiyorum.
Makro şifre 12345

1.Örnek Dosya: Açılışta zamanı gelen hatırlatmalar varsa önce hatırlatma sayfasını gösterip tamam dediğimde ise İzin Giriş sayfasına değil de Ana Menü sayfasına gitsin ve hatırlatma ile ana menü dışındaki diğer tüm sayfaları silip makrolarını temizleyelim

2.Örnek Dosya: Açılışta zamanı gelen hatırlatmalar varsa önce hatırlatma sayfasını gösterip tamam dediğimde ise İzin Giriş sayfasına değil de Ana Menü sayfasına gitsin ve hatırlatma ile ana menü ve İzin Giriş dışındaki diğer tüm sayfaları silip makrolarını temizleyelim İzin Girişin adını ise Giriş olarak değiştirelim.

http://s6.dosya.tc/server11/0hem30/IZIN_TAKIP_-_Kopya.rar.html
 
Arkadaşlar 2.örnekle ilgili başka taleplerimde var ama çok karışacağı için yazmadım. 2.örnek yukarda istediğim şekilde hazır olduğunda yazacağım
 
Arkadaşlar yokmu yardımcı olacak
 
1.Örnek Dosya: Açılışta zamanı gelen hatırlatmalar varsa önce hatırlatma sayfasını gösterip tamam dediğimde ise İzin Giriş sayfasına değil de Ana Menü sayfasına gitsin ve hatırlatma ile ana menü dışındaki diğer tüm sayfaları silip makrolarını temizleyelim

2.Örnek Dosya: Açılışta zamanı gelen hatırlatmalar varsa önce hatırlatma sayfasını gösterip tamam dediğimde ise İzin Giriş sayfasına değil de Ana Menü sayfasına gitsin ve hatırlatma ile ana menü ve İzin Giriş dışındaki diğer tüm sayfaları silip makrolarını temizleyelim İzin Girişin adını ise Giriş olarak değiştirelim.
Merhaba.

Önce birkaç uyarıda bulunmak istiyorum.
-- kullandığınız makrolarda; gerek makro adı ve gerekse de kodlarda kullandığırız değişken isimlerinde Türkçe karakter kullanmamanızda (malesef) yarar var.
-- sayfaların kod bölümünde makro tutacaksanız Worksheet_Chenge, Worksheet_SelectionChange gibi sayfa olaylarıyla ilgili kodlar tutmanızı öneririm.
Yani bazı sayfaların silinmesini istediğinize göre, silinen sayfanın kod bölümündeki kodlar da silinmiş olacak.
-- Kullandığınız kodlarda sıkça Sayfa...Select, Range....Select satırları gördüm.
Çok gerekmedikçe kod'un işlem yapacağı sayfanın adını kod satırlarındaki hücre atıflarında kullanarak,
ilgili sayfa aktive edilmeden de ilgili sayfalarda işlem yaptırılabilir.

Örneğin aşağıdaki kırmızı kısımları silip bunun yerine mavi olanları kullanmak gibi.
.
Kod:
Sub izinbilgisiizindeolan()
[COLOR="Red"] Sayfa2.Select
  Range("A10").Select[/COLOR]
For i = 10 To 500
    If Date < CDate([B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Cells(i, 25)) _
        And Date >= CDate([B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Cells(i, 24)) _
        And [B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Range("X" & i).Value <> "" _
        And [B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Range("AE" & i).Value <> "Ayrılışı Gelen" Then
        
            [B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Range("AE" & i).Value = "İzinde Olan"
            [B][COLOR="Blue"]Sayfa2.[/COLOR][/B]Range("AE" & i).Font.ColorIndex = 3
    End If
Next i
End Sub
Sorunuza gelince, belgenizde yar alan hatırlatma isimli makroyu aşağıdaki;
-- ilk kod ile değiştirirseniz ilk isteğiniz,
-- ikinci kod ile değiştirirseniz ikinci isteğiniz
karşılanmış olur.
► Ancak; belgenizdeki kodlarda, silinmesini istediğiniz sayfalara atıflar yapan kodlar varsa,
-- bu kodları çalıştırmak istediğinizde sorun yaşarsınız,
-- belgenizi ve mevcut kodları bu sayfalar olmadan işler hale getirmek sizin işiniz oluyor.
Çünkü kullandığınız diğer kodlara bakmadım.
.
Kod:
[B][COLOR="red"]İstek: 1[/COLOR][/B]
Sub hatırlatma()

On Error Resume Next
 Set h = Sayfa8
   h.Range("A3:K100").Sort key1:=h.Range("D3"), order1:=xlAscending
     For i = 3 To h.Range("D100").End(3).Row
       If DateValue(Date) - 30 <= DateValue(h.Cells(i, 4).Value) And DateValue(Date) >= DateValue(h.Cells(i, 4).Value) Then
            say = say + 1
            mesaj = " HATIRLATMA SİSTEMİ" & vbCr
            msj = msj & h.Cells(i, 1) & "- " & h.Cells(i, 2) & " " & h.Cells(i, 3) & "    " & h.Cells(i, 6) & vbCr
        End If
    Next i
    If say >= 1 Then
        h.Activate
        If MsgBox("Yapılması Gereken " & say & " İşlem Var." & vbCr & mesaj & vbCr & msj, vbCritical + vbYesNo, "..::.. Ömer BARAN ..::..") = vbYes Then
            Sheets("ANA MENÜ").Activate
                Application.DisplayAlerts = False
                For Each shf In ThisWorkbook.Worksheets
                    If shf.Name <> "ANA MENÜ" And shf.Name <> "Hatırlatma" Then shf.Delete
                Next
                Application.DisplayAlerts = True
            MsgBox "İşlem tamamlanmıştır.", vbInformation, "..::.. Ömer BARAN ..::.."
        Else
            MsgBox "İşlem iptal edilmiştir.", vbInformation, "..::.. Ömer BARAN ..::.."
        End If
    End If
End Sub




[B][COLOR="Red"]İstek: 2[/COLOR][/B]
Sub hatırlatma()

On Error Resume Next
 Set h = Sayfa8
   h.Range("A3:K100").Sort key1:=h.Range("D3"), order1:=xlAscending
     For i = 3 To h.Range("D100").End(3).Row
       If DateValue(Date) - 30 <= DateValue(h.Cells(i, 4).Value) And DateValue(Date) >= DateValue(h.Cells(i, 4).Value) Then
            say = say + 1
            mesaj = " HATIRLATMA SİSTEMİ" & vbCr
            msj = msj & h.Cells(i, 1) & "- " & h.Cells(i, 2) & " " & h.Cells(i, 3) & "    " & h.Cells(i, 6) & vbCr
        End If
    Next i
    If say >= 1 Then
        h.Activate
        If MsgBox("Yapılması Gereken " & say & " İşlem Var." & vbCr & mesaj & vbCr & msj, vbCritical + vbYesNo, "..::.. Ömer BARAN ..::..") = vbYes Then
            Sheets("ANA MENÜ").Activate
                Application.DisplayAlerts = False
                For Each shf In ThisWorkbook.Worksheets
                    If shf.Name = "İZİN GİRİŞ" Then shf.Name = "Giriş"
                    If shf.Name <> "ANA MENÜ" And shf.Name <> "Hatırlatma" And shf.Name <> "Giriş" Then shf.Delete
                Next
                Application.DisplayAlerts = True
            MsgBox "İşlem tamamlanmıştır.", vbInformation, "..::.. Ömer BARAN ..::.."
        Else
            MsgBox "İşlem iptal edilmiştir.", vbInformation, "..::.. Ömer BARAN ..::.."
        End If
    End If
End Sub
 
Merhaba Ömer bey programı ben yapmadım şu ulaşamadığım birisine yatırmıştım. Ben makrodan hiç anlamıyorum açıkçası umarım verdiğiniz kodları eklemeyi beceririm. Eğer müsaitseniz ve zamanınız varsa
Açılış sayfasının ana menü olduğu hatırlama ve ana menü dışındaki sayfaların ve makrolarının silindiği bir dosya ile
aynı sekilde açılış sayfasının ana menü olduğu hatırlama ve ve izin giriş ile ana menü dışındaki sayfaların ve makrolarının silindiği dosya olarak uygularsanız sevinirim.Teşekkür ederim ilginize
 
Öncelikle denemelerinizi kopya belgeler üzerinde yapmanızı önermeliyim.

-- Belgenizi açın,
-- ALT+F11 tuşlarına basın,
-- açılan VBA ekranında sol taraftaki menüden belge adının solundaki + işaretine tıklayın,
-- şifreyi (12345) yazıp onaylayın,
-- ardından yine solda Modules'in solundaki + işaretine tıklayın,
-- Modules'in altında Evrak'a çift tıklayın,
-- sonra da sağdaki kısımda Sub hatırlatma() diye başlayıp End Sub ile biten kodu silin ve onun yerine,
önceki cevabımda belirttiğim kodlardan hangi işlemi istiyorsanız o kod blokunu yapıştırın,
belgeyi kaydederek kapatıp tekrar açın.

İstediğiniz sonuca ulaşılmış olacaktır.

Önceki cevabımda da belirttiğim gibi;
sayfa silme işleminin diğer işlem kodlarında veya userform kodlarında oluşturacağı etkiyi bilemiyorum.

Silinen sayfaları tekrar getiremeyeceğinizden, diğer kodlar silinen sayfalarda işlem yapmak istediğinde işlem HATA verir.
.
 
Ömer bey gönderdiğiniz kodu denedim ama sonuç vermedi. Ben gereksiz olan sayfaları sildim hatırlatma çalışıyor ancak sonunda Run-time error '424': hatası veriyor. Örnek dosyayı gönderiyorum.
Sizden isteğim
1- Çıkan hatırlatmaya tamam dedikten sonra ana menü sayfasına gitmesi yani
ana menü sayfasının açılış sayfası olması
2- Hatırlatmadan sonra çıkan Run-time error '424': hatasının giderilmesi

Teşekkür ederim

http://s6.dosya.tc/server11/c9scev/LISTEEE.rar.html
 
Sayın Baran meşgulsünüz sanırım. Konuya ilişkin sayın asriden de rica ettiğim gibi mevcut tüm kodu silip örnekteki gibi hatırlatma tarihi geleni hatırlatıp ana menüye geçmesi için yeni bir kod yazabilir misiniz
 
Merhaba.

Verdiğiniz harici erişim adresinden dosyayı indirmeye çalıştığımda CHROME tarayıcısı ZARARLI uyarısı ile işlemi durduruyor.
Dosyanıza bakmam mümkün olmadı.
 
Merhaba sayın Baran. Kusura bakmayın biraz geç cevap verdim. Altın üyelik işlemlerini tamamladım. Örnek dosyayı ekte gönderiyorum
Bir önceki mesajda belirtiğim üzere ben gereksiz olan sayfaları sildim hatırlatma çalışıyor ancak sonunda Run-time error '424': hatası veriyor.
Sizden isteğim
1- Çıkan hatırlatmaya tamam dedikten sonra ana menü sayfasına gitmesi yani
ana menü sayfasının açılış sayfası olması
2- Hatırlatmadan sonra çıkan Run-time error '424': hatasının giderilmesi

Yada sizin için daha kolay olacaksa tüm kodun silinerek tarih geldiğinde örnekteki gibi hatırlatma yapan ve ana menüsü açılış sayfası olan yeni bir kod.

İlginiz ve alakanız için çok ederim kolay gelsin
 

Ekli dosyalar

Merhaba ALTIN ÜYELİK hayırlı olsun.

ALT+F11 tuşlarına basarak VBA ekranını açın.
Açılan ekranda sol tarafta BuÇalışmaKitabı (ThisWorkbook) 'na fareyle çift tıklayın,
sağdaki kod'u aşağıdakiyle değiştirin.

Kodlarınızda, mümkün olduğunca ....SELECT kod satırları kullanmayınız.
.
Kod:
Private Sub Workbook_Open()
[COLOR="Red"]On Error Resume Next[/COLOR]
    Run "evrakhatırlat1"
    Run "evrakhatırlat"
    Run "hatırlatma"
    Sayfa1[COLOR="red"].Activate[/COLOR]
End Sub
 
Sağolun Ömer bey. Kodu değiştirdiğimde Ana menüyü açılış sayfası yapmış ama hatırlatmayı vermiyor bu seferde. Hatırlatma sayfasındaki D sütunundaki tarihler geldiğinde (tarihi değiştirmediğim veya silmediğim sürece her açılışta göstermesi) açılışta hatırlatma yapıp tamam dediğimde ana menü sayfasına giden kod gönderebilir misiniz rica etsem
birde bir önceki mesajınızdaki gibi açıklarsanız
kolay gelsin
 
Sayın baran yardımınızı bekliyorum
 
Yapmış olduğunuz yardımlarınız ve emeğiniz için teşekkür ederim sayın Baran
 
Merhaba arkadaşlar yukarda bahsetmiş olduğum makroların temizlenmesine ilişkin talebimi güncelledim. Dosya ve açıklamaları ekte gönderiyorum yardımcı olursanız sevinirim. Kolay gelsin

http://s5.dosya.tc/server5/hn0cwc/LISTE.rar.html
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst