Soru Belli zaman sürecinde kaydedip kapanan makro

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Günler;

Excel çalışma kitabımın belli süre açık kalması ve herhangi bir işlem yapmam halinde kaydederek kapanmasını istemekteyim. Siteden yaptığım araştırma sonucu aşağıdaki koddları örnek uygulama yaptığımda çalışma ve belirlenen süre sonunda kapanmakta ancak, kendi projeme uyguladığım zaman çalışmamaktadır. Neden olabilir? Farklı uygulama önereileri olanlarda da yardımları için şimdiden teşekkürler.

Module

Private Declare PtrSafe Function MsgBoxTimeout _
Lib "user32" _
Alias "MessageBoxTimeoutA" ( _
ByVal hwnd As LongPtr, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal wType As VbMsgBoxStyle, _
ByVal wlange As Long, _
ByVal dwTimeout As Long) _
As Long

Sub Otomatik_Zamanlı_Kapama()
Application.OnTime Now + TimeValue("00:02:00"), "Formu_Kapat"
End Sub

Sub Formu_Kapat() ' Excelin otomatik kapanmasında kullanılıyor.
On Error Resume Next

Dim w As Workbook
Dim Mesaj As Object

Hata.Clear
If Hata <> 0 Then
MsgBox "Hataor:" & Hata
Else
Call MsgBoxTimeout(0, "Çalışma Dosyanız 1 Dakika sonra kapanacaktır.", "UYARI", vbInformation, 0, 4000)
End If
Set Mesaj = Nothing
Application.OnTime Now + TimeValue("00:00:55"), "KaydetKapat"

Windows("Kaydetkapat.xlsm").Activate

Call MsgBoxTimeout(0, "Ek süreniz dolmuştur Kpanacaktır...," & vbCrLf & _
"Save işlemi yapılacaktır.", "Ek süreniz dolmuştur...", vbInformation, 0, 2000)

Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each w In Application.Workbooks
w.Save
Next w

For Each w In Application.Workbooks
w.Saved = True
Next w

Set objdocument = Nothing
Application.ScreenUpdating = True
'Application.DisplayAlerts = True
Application.Quit

End Sub


Thisworkbook
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Otomatik_Zamanlı_Kapama
End Sub
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
'SEÇİLİ SÜTUNU RENKLENDİRME
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells.Interior.ColorIndex = xlNone
If Intersect(Target, [F3:L100000]) Is Nothing Then Exit Sub
If ActiveSheet.Range("F" & ActiveCell.Row) > 0 Then
Range(Cells(Target.Row, 6), Cells(Target.Row, 12)).Interior.ColorIndex = 36
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Else

End If
End Sub
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Akşamlar;
örnek ektedir.
 

Ekli dosyalar

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
Konu hakkında fikir ve yardımlarınızı bekliyorum.
 
Üst