İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Excel

Excel VBA kodlamaları ile yapılmış örnek dosyaları burdan izleyebilir ve paylaşabilirsiniz.

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#21)  sinanplater » 15 Eyl 2014 06:06

Bi örnekte ben ekleyeyim o zaman;

Kod: Tümünü seç
Dim DownTime As Date

Sub SetTimer()
    DownTime = Now + TimeValue("01:00:00")
    Application.OnTime EarliestTime:=DownTime, _
      Procedure:="ShutDown", Schedule:=True
End Sub


Kod: Tümünü seç
Sub StopTimer()
    On Error Resume Next
    Application.OnTime EarliestTime:=DownTime, _
      Procedure:="ShutDown", Schedule:=False
End Sub


Kod: Tümünü seç
Sub ShutDown()
    Application.DisplayAlerts = False
    With ThisWorkbook
        .Saved = True
        .Close
    End With
End Sub


Kod: Tümünü seç
Private Sub Workbook_Open()
    Call SetTimer
End Sub


Kod: Tümünü seç
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call StopTimer
End Sub


Kod: Tümünü seç
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    Call StopTimer
    Call SetTimer
End Sub


Kod: Tümünü seç
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
  ByVal Target As Excel.Range)
    Call StopTimer
    Call SetTimer
End Sub


;;_)
Kullanıcı avatarı
sinanplater
Site Dostu
 
Adı Soyadı:SİNAN POLATER
Kayıt: 12 Şub 2012 17:41
Meslek: Serbest yazılımcı ve güvenlik merkezi koordinatörü
Yaş: 38
İleti: 1381
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL



Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#22)  MERAK » 16 Eyl 2014 13:25

Sayın Enes BAĞ, internetimde sorun olduğu için henüz evde deneyemedim.
Sayın sinanplater, sizin eklediğiniz örnekle tam olarak ne yapabiliyoruz?
Kullanıcı avatarı
MERAK
Yeni Başlamış
 
Adı Soyadı:Ahmet DEMİR
Kayıt: 28 Ağu 2009 12:35
İleti: 69
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: MERSİN

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#23)  By_MeMo_54 » 31 Mar 2016 15:15

s.a konuyu konuşalı uzun zaman olmuş ma bana yardımcı olacak birilier vardır diye düşünüyorum.

ağda ortak kullanılan bir excel tablomuz var toplamda 10 dakikada excel çalışma sayfasını kapatacak ilk 5. dakikada" 5 dk sonra excel dosyası kapanacaktır" uyarısı verecek ve sonra toplamda 10. dakikada exceli son haliyle kaydedip kapatacak

yardımcı olursanız sevinirim bu konuda çok muzdaribim
Kullanıcı avatarı
By_MeMo_54
 
Kayıt: 31 Mar 2016 07:38
Meslek: kalite kontrol uzmanı
Yaş: 31
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: sakarya

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#24)  Erkan Akayay » 31 Mar 2016 15:38

Madde 20:

Mesaj yazarken büyük harf kullanmak bağırmak anlamına geleceği için kesinlikle mesajınızın tamamını büyük harf kullanarak yazmayınız. Türkçe yazım kurallarında; cümlede kelimelerin ilk harfi büyük olur, özel isimlerin baş harfi büyük olur, noktadan sonra başlayan her kelimenin baş harfi büyük olur, mesaj içindeki tüm harfler büyük yazılmaz yahut tümü küçük yazılmaz. Sitemiz Türkçe karakter desteklemektedir ve i, ç , ş , ğ gibi harfleri kullanmanızda hiç bir sakınca yoktur.
Sorularınızı düzgün bir Türkçe ile, detay vererek ve örnek dosyayla destekleyerek sorunuz.
Örnek dosyalarınızda Application.Visible veya hide gibi sayfa gizlemelerini iptal ediniz.
Kullanıcı avatarı
Erkan Akayay
Site Dostu
 
Kayıt: 20 Ağu 2008 11:59
Konum: YALOVA
Meslek: Bilgi İşlem
Yaş: 49
İleti: 4065
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#25)  By_MeMo_54 » 31 Mar 2016 16:14

Örnekteki tablo ortak kullanılan bir tablo diğer kullanıcılardan birisi bu tabloyu kapatmadığı zaman diğer kullanıcılar değişiklik yapamıyor salt okunur görütüleyemiyor. Unutan kullanıcılar yüzünden iş aksayabiliyor bende bu dosyaya işlem yapılmadan 10 dakika durduğu zaman kendi kendine kaydedip excel dosyasını kapatmasını istiyorum. 5. dakikada " işlem yapılmaz ise 5 dakika sonra dosya otomatik olarak kaydedilecek ve kapatılacak" şeklinde uyarı mesajı vermesini istiyorum. Yardımcı olursanız sevinirim.

rnek.rar
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
By_MeMo_54
 
Kayıt: 31 Mar 2016 07:38
Meslek: kalite kontrol uzmanı
Yaş: 31
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: sakarya

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#26)  By_MeMo_54 » 01 Nis 2016 09:01

Yardımcı olabilecek kimse yok mu?
Kullanıcı avatarı
By_MeMo_54
 
Kayıt: 31 Mar 2016 07:38
Meslek: kalite kontrol uzmanı
Yaş: 31
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: sakarya

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#27)  Ali ÖZ » 01 Nis 2016 09:42

Ekli dosyayı kendinize uyarlayabilirsiniz.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 10092
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kap

İleti#28)  By_MeMo_54 » 01 Nis 2016 16:41

Ali ÖZ yazdı:Ekli dosyayı kendinize uyarlayabilirsiniz.


Ali bey excel konusunda çok iyi değilim uyarlayamadığım için böyle bir talepte bulunmuştum.
Kullanıcı avatarı
By_MeMo_54
 
Kayıt: 31 Mar 2016 07:38
Meslek: kalite kontrol uzmanı
Yaş: 31
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: sakarya

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#29)  EminP » 10 Oca 2019 10:03

Merhaba,

Bahsedeceğim konuyla ilgili çok başlık ve bilgi var aslında. Neredeyse hepsini de inceledim ama bilgi eksikliğimden dolayı uyarlama yapamadım. En uygun başlık burayı bulduğum için buradan tetiklemek istedim. Yüzeysel bir ifadeyle "Açık olan tüm excel dosyalarını kaydetmeden kapatmak istiyorum." denebilir ama en uygun çözüm önerisinde bulunabilmeniz adına olayı şöyle anlatayım:

Bir işyeri hekimi müşterim var ve 3-4 bin kişilik bir fabrikaya hizmet veriyor. Kullandığı yazılım üzerinden sürekli excel'e veri gönderiyor ve birkaç dğişiklik yapıp yazıcıdan çıktı alıyor(İşe giriş formu, raporlar, listeler vs.). İşini bitirdikten sonra da bu dosyaları kapatmadığı için gün ortasında 300-400 tane açık excel dosyası oluşuyor. Dosya isimleri değişken. Yazılım xlt uzantılı şablonları kullandığı için aynı formları tekrar tekrar excel'e gönderdiğinde rapor1, rapor2, rapor3, liste1, liste2 vb. şekilde dosyalar oluşuyor.

Murat Bey'in verdiği örnekteki dosyayı açınca örneğin 1 dk. süre girdiğimizde hareket algılamazsa 1 dk. sonra dosyayı kapatıyor. Kodda değişiklik yaparak, açık olan tüm excel dosyalarında 1 dk. içinde hareket olmazsa kapanmalarını sağlayabilir miyiz?

Bir de şöyle bir mesele var: Diyelim bir xlsm oluşturduk ve dosyayı çalıştırdığımızda açık olan tüm excel'leri kaydetmeden kapattı. Hemen arkasından kullanıcı tarafından yeni excel dosyaları tekrar oluşturulmaya başlanacak. Buna nasıl bir çözüm getirilebilir? Biriktiğinde kapatma dosyasını tekrar mı çalıştırması gerekir? Biraz uzattım ama konuyu tam olarak anlatabilmek istedim.

Yardımlarınızı bekler, saygılar sunarım.
Kullanıcı avatarı
EminP
 
Kayıt: 10 Oca 2019 08:32
Meslek: Bilişim Koordinatör
Yaş: 40
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#30)  Tarkan VURAL » 14 Oca 2019 16:30

Merhaba, hoş geldiniz.
EminP yazdı:Diyelim bir xlsm oluşturduk ve dosyayı çalıştırdığımızda açık olan tüm excel'leri kaydetmeden kapattı. Hemen arkasından kullanıcı tarafından yeni excel dosyaları tekrar oluşturulmaya başlanacak. Buna nasıl bir çözüm getirilebilir? Biriktiğinde kapatma dosyasını tekrar mı çalıştırması gerekir?


Burada yazdıklarınıza istinaden birikme nedir? Tam olarak tanımlayınız.
Örnek :
10 tane açık dosya varsa kapatma uygulaması çalışsın.
Saat 12:00 de kapatma dosyası çalışsın.
Kullanıcı Excel dosyalarını hiç bir zaman oluşturmasın
vb..

Timer kullanarak ufak bir exe uygulama, windows servis, ya da görev zamanlayıcı kullanılarak bir vbs file, batch file, Excel vb.. uygulamalardan tetik verilebilir.

Özetle iki durum var:
1 - Tetiklemeyi ne tür bir uygulama istasyonu yapacak ?
2 - Tetikleme hangi şarta dayalı olmak üzere başlatılacak ?

Kolay gelsin.

(Hemen yanıt dönüşü yapsanız da; ben uygun olamadıkça yanıt veremeyebilirim, dipnot olarak bilginize. )
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 46
İleti: 27135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#31)  EminP » 15 Oca 2019 08:13

Tarkan Bey merhaba,

Verdiğiniz fikir için teşekkür ederim. Ben hep makro üzerinden çözüm bulmaya çalışıyordum ama bat dosyası ile de sorunuma çözüm bulunabiliyormuş. Yönlendirme için tekrar teşekkürler.
Kullanıcı avatarı
EminP
 
Kayıt: 10 Oca 2019 08:32
Meslek: Bilişim Koordinatör
Yaş: 40
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#32)  Tarkan VURAL » 15 Oca 2019 09:12

Rica ederim
Amaç çözüm bulmaksa, illa işin içinde Excel olmak zorunda değil. En hızlı ve mantıklı çözüme gidiyor olmak kafii...

Kolay gelsin. --)(
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 46
İleti: 27135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#33)  judlas » 21 Haz 2019 08:48

Üstadım merhaba gayet güzel ve kullanışlı bir kod.
Ben sizden şunu rica etsem. Excel kitabımızı açtığımızda karşımıza süre girmek için çıkan inputboxa 00:00:25 gibi bir şeyi yazmak yerine bu inputbox yine kalsın aşağıya ise bir kaçtane option buton koysak işte her option buton karşısında aşağıdaki seçebileceğim bir kaç tane zaman olsa. ben bu zamanlardan birisini seçince inputboxa format olarak o zamanın formatı yerleşse olabilir mi. bilgi ve yardımlarınızı rica ederim
5 dk
10dk
30sn
30dk
45dk
60dk



Murat OSMA yazdı:Excel'de bir işlem yapılmadığında belirlediğiniz süre sonra kendiliğinden kapanmasını istiyorsanız. [evet]

Kod: Tümünü seç
   
Option Explicit

Private Const Gecikme As Date 
= 5 / 86400
Private Const Onerilen_Zaman As Date 
= 10 * 60 / 86400
Private Süre As Variant
Private Temps As Date
Private Zaman As Date

Private Sub TimeSlot
(Optional Reset As Boolean)
    On Error Resume Next
    Application
.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
    If IsMissing
(Reset) Or (Reset = False) Then
        If 
(Zaman <= Gecikme) Then
            ThisWorkbook
.Close True
        End If
        Zaman 
= Zaman - Gecikme
    Else
        Zaman 
= Süre
    End If
    Temps 
= Now + Gecikme
    Application
.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot"
    ActiveWindow.Caption = Split(ActiveWindow.Caption, " [")(0) & " [" & Zaman & "]"
End Sub

Private Sub Workbook_Open
()
    Do
        Süre 
= Application.InputBox("Varsayılan zaman önerilmektedir " & Onerilen_Zaman & ". " & _
        
"Girdi formatı '00:00:00'" & vbCrLf & vbCrLf & _
        
"Kalan süre yukarıda gösterilecektir. " & vbCrLf, _
        
"Saati ayarlayın", Type:=2)
    Loop Until (Süre = False) Or IsDate(Süre)
    Süre = IIf(IsDate(Süre), Süre, Onerilen_Zaman)
    TimeSlot True
End Sub

Private Sub Workbook_SheetSelectionChange
(ByVal Sh As Object, ByVal Target As Range)
    TimeSlot True
End Sub

Private Sub Workbook_BeforeClose
(Cancel As Boolean)
    Application.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
End Sub
Kullanıcı avatarı
judlas
Siteye Alışmış
 
Kayıt: 14 Kas 2014 17:58
Meslek: Network
Yaş: 41
İleti: 261
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Levent

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#34)  mikrenos » 18 Tem 2019 19:59

Merhaba,
Öncelikle elinize sağlık. Excel açıldığında ekrana gelen uyarıyı kullanıcı kontrolünden çıkarılıp kod içine sabitlenebilir mi? Örnek olarak excel açıldığında işlem yapılmadığı andan itibaren 5 dk sonra kapanması gerekiyor. Çünkü kullanıcı uzun süreler verdiğinde yine amacına ulaşabilecek.
Kullanıcı avatarı
mikrenos
 
Kayıt: 31 May 2019 09:09
Meslek: Coğrafya CBS
Yaş: 31
İleti: 7
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Samsun

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#35)  Tarkan VURAL » 18 Ekm 2019 08:23

Merhaba, hoş geldiniz. İletinizin bir üstündeki alıntıda kod içine sabit görünüyor. İnceleyebildiniz mi ?
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 46
İleti: 27135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kap

İleti#36)  mikrenos » 14 Şub 2020 10:30

Tarkan VURAL yazdı:Merhaba, hoş geldiniz. İletinizin bir üstündeki alıntıda kod içine sabit görünüyor. İnceleyebildiniz mi ?

Merhaba Tarkan Bey,
Kod bilgim zayıf ancak açıklamaya çalışayım. Tablo açıldığında kod içinde belirlenmiş önerilen bir süre kullanıcının değiştirebileceği küçük bir pencerede açılıyor. Kullanıcı süreyi on saat belirleyebilir durumda.
Eğer bu pencere yerine excel açıldığında sayaç kod içinde belirlenen sürede geri sayıma başlayabilirse benim açımdan faydalı olacaktır.
Tarkan Bey, süreye takılsamda kodu kullanıyorum ancak takıldığım diğer nokta şu. Paylaşım alanında ağ çok yavaş olduğu için excel kaydedilip kapanırken öylece kalıyor. Tablonun kaydedilmeden kapanması için değişikli yapılabilir mi?
Kullanıcı avatarı
mikrenos
 
Kayıt: 31 May 2019 09:09
Meslek: Coğrafya CBS
Yaş: 31
İleti: 7
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Samsun

Cevap: Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kap

İleti#37)  mikrenos » 25 Şub 2020 21:57

Tarkan VURAL yazdı:Merhaba, hoş geldiniz. İletinizin bir üstündeki alıntıda kod içine sabit görünüyor. İnceleyebildiniz mi ?

Merhaba Tarkan Bey,
Bir önceki mesajımda belirttiğim durumları düzelttim ilginiz için teşekkür ederim.
Kullanıcı avatarı
mikrenos
 
Kayıt: 31 May 2019 09:09
Meslek: Coğrafya CBS
Yaş: 31
İleti: 7
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Samsun

Cevap: Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kap

İleti#38)  feraz » 26 Şub 2020 01:53

judlas yazdı:Üstadım merhaba gayet güzel ve kullanışlı bir kod.
Ben sizden şunu rica etsem. Excel kitabımızı açtığımızda karşımıza süre girmek için çıkan inputboxa 00:00:25 gibi bir şeyi yazmak yerine bu inputbox yine kalsın aşağıya ise bir kaçtane option buton koysak işte her option buton karşısında aşağıdaki seçebileceğim bir kaç tane zaman olsa. ben bu zamanlardan birisini seçince inputboxa format olarak o zamanın formatı yerleşse olabilir mi. bilgi ve yardımlarınızı rica ederim
5 dk
10dk
30sn
30dk
45dk
60dk



Murat OSMA yazdı:Excel'de bir işlem yapılmadığında belirlediğiniz süre sonra kendiliğinden kapanmasını istiyorsanız. [evet]

Kod: Tümünü seç
   
Option Explicit

Private Const Gecikme As Date 
= 5 / 86400
Private Const Onerilen_Zaman As Date 
= 10 * 60 / 86400
Private Süre As Variant
Private Temps As Date
Private Zaman As Date

Private Sub TimeSlot
(Optional Reset As Boolean)
    On Error Resume Next
    Application
.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
    If IsMissing
(Reset) Or (Reset = False) Then
        If 
(Zaman <= Gecikme) Then
            ThisWorkbook
.Close True
        End If
        Zaman 
= Zaman - Gecikme
    Else
        Zaman 
= Süre
    End If
    Temps 
= Now + Gecikme
    Application
.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot"
    ActiveWindow.Caption = Split(ActiveWindow.Caption, " [")(0) & " [" & Zaman & "]"
End Sub

Private Sub Workbook_Open
()
    Do
        Süre 
= Application.InputBox("Varsayılan zaman önerilmektedir " & Onerilen_Zaman & ". " & _
        
"Girdi formatı '00:00:00'" & vbCrLf & vbCrLf & _
        
"Kalan süre yukarıda gösterilecektir. " & vbCrLf, _
        
"Saati ayarlayın", Type:=2)
    Loop Until (Süre = False) Or IsDate(Süre)
    Süre = IIf(IsDate(Süre), Süre, Onerilen_Zaman)
    TimeSlot True
End Sub

Private Sub Workbook_SheetSelectionChange
(ByVal Sh As Object, ByVal Target As Range)
    TimeSlot True
End Sub

Private Sub Workbook_BeforeClose
(Cancel As Boolean)
    Application.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
End Sub


Daha geçerliyse soru şu şekilde olabilir.Açılışta nir userform çağırılır ve userformda zaten dediğiniz olaylar yani optionbuttonlar ekleniyor :)
Kullanıcı avatarı
feraz
Site Dostu
 
Kayıt: 19 May 2014 17:36
Konum: Almanya
Meslek: İşçi
Yaş: 40
İleti: 6185
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray

Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kapanan Ex

İleti#39)  mikrenos » 07 Mar 2020 16:46

Merhaba,

@MuratOSMA (time slot)ve @Faruk AKARÇAY ın hazırladığı(log) excellerde çalışan makroları birleştimek istiyorum ancak ThisWorkBookta bulunan kodları birleştiremedim. Ekte iki dosya mevcut.

@Faruk AKARÇAY ın hazırladığı Log kaydı yapan makro çoklu hücre silinmesi sonrası log kaydı girmiyor. Bu konuda da yardımcı olabilir misiniz.

Yardımlarınız için teşekkür ederim.

-Farklı bir konu altına aynı iletiyi yazmıştım ancak cevap gelmediğinden bu başlık altına da yazmak istedim
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
mikrenos
 
Kayıt: 31 May 2019 09:09
Meslek: Coğrafya CBS
Yaş: 31
İleti: 7
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Samsun

Cevap: Cevap: İşlem Yapılmadığında Belirlenen Süre Sonra Kap

İleti#40)  Miraç CAN » 07 Mar 2020 17:32

mikrenos yazdı:Merhaba,

@MuratOSMA (time slot)ve @Faruk AKARÇAY ın hazırladığı(log) excellerde çalışan makroları birleştimek istiyorum ancak ThisWorkBookta bulunan kodları birleştiremedim. Ekte iki dosya mevcut.

@Faruk AKARÇAY ın hazırladığı Log kaydı yapan makro çoklu hücre silinmesi sonrası log kaydı girmiyor. Bu konuda da yardımcı olabilir misiniz.

Yardımlarınız için teşekkür ederim.

-Farklı bir konu altına aynı iletiyi yazmıştım ancak cevap gelmediğinden bu başlık altına da yazmak istedim

Teorik olarak böyle ama deneme fırsatım olmadı.
Kod: Tümünü seç
Option Explicit
Private EskiDeger As Variant
Private Durum As Variant
Private Const Gecikme As Date = 10 / 86400
Private Const Onerilen_Zaman As Date = 5 * 60 / 86400
Private Süre As Variant
Private Temps As Date
Private Zaman As Date
Private Sub TimeSlot(Optional Reset As Boolean)
    On Error Resume Next
    Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot", Schedule:=False
    If IsMissing(Reset) Or (Reset = False) Then
        If (Zaman <= Gecikme) Then
            BuÇalışmaKitabı.Close ([False])

            End If
        Zaman = Zaman - Gecikme
    Else
        Zaman = Süre
    End If
    Temps = Now + Gecikme
    Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot"
    ActiveWindow.Caption = Split(ActiveWindow.Caption, " [")(0) & " [" & Zaman & "]"
End Sub
Private Sub Workbook_Open()
    Do
    Loop Until (Süre = False) Or IsDate(Süre)
    Süre = IIf(IsDate(Süre), Süre, Onerilen_Zaman)
    TimeSlot True
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = ActiveSheet.Name
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "giriş yaptı."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 1
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Font.ColorIndex = 4
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot", Schedule:=False
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = ActiveSheet.Name
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "çıkış yaptı."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 1
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Font.ColorIndex = 3
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.Caption = ActiveSheet.Name
    If Sheets("Log").Log_CheckBox_1.Value = True Then
    If Sh.Name <> "Log" Then
        Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
        Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
        Sheets("Log").Range("a65536").End(3)(2, 7).Value = "'sayfasını seçti."
        Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
        Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
    End If
    Else
    End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If IsEmpty(Target.Value) Then Durum = "sildi"
If Selection.Count = 1 Then
If Sh.Name <> "Log" Then
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
Sheets("Log").Hyperlinks.Add Anchor:=Sheets("Log").Range("a65536").End(3)(2, 4), Address:="", SubAddress:="'" & Sh.Name & "'!" & Target.Address(0, 0), TextToDisplay:=Target.Address(0, 0)
Sheets("Log").Range("a65536").End(3)(2, 5).Value = EskiDeger
Sheets("Log").Range("a65536").End(3)(2, 6).Value = Target.Offset(0, 0).Value
Sheets("Log").Range("a65536").End(3)(2, 7).Value = Durum
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
        Sheets("Log").Range("a65536").End(3)(1, 1).Borders(1).LineStyle = 3
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Borders(3).LineStyle = 3
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Borders(4).LineStyle = 3
        Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 19
        Sheets("Log").Range("a65536").End(3)(1, 8).Borders(2).LineStyle = 3
Else
End If
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    TimeSlot True
    If Sheets("Log").Log_CheckBox_2.Value = True Then
        If Sh.Name <> "Log" Then
            Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
            Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
            Sheets("Log").Hyperlinks.Add Anchor:=Sheets("Log").Range("a65536").End(3)(2, 4), Address:="", SubAddress:="'" & Sh.Name & "'!" & Target.Address(0, 0), TextToDisplay:=Target.Address(0, 0)
            Sheets("Log").Range("a65536").End(3)(2, 7).Value = "'hücresini seçti."
            Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
            Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
        End If
        Else
    End If
            If Target.Count > 1 Then Exit Sub
            If Target = "" Then
                EskiDeger = "boş"
            Else: EskiDeger = Target.Value
            End If
     
            If EskiDeger = "boş" Then
                Durum = "'yazdı."
            Else: Durum = "'olarak değiştirdi."
            End If
End Sub
Kullanıcı avatarı
Miraç CAN
Siteye Alışmış
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 38
İleti: 417
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

ÖncekiSonraki

Forum Örnek Dosyalar

Online Kullanıcılar

Bu forumu görüntüleyenler: Google Adsense [Bot] ve 1 misafir

Bumerang - Yazarkafe