• DİKKAT

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

Şifre doğru ise tarih at

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı akşamlar.

Aşağıdaki kodlarda kaydet dediğimde şifre doğruysa bir türlü A1 hücresine tarih yazdıramadım.

Yardımcı olur musunuz?

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.InputBox("Kaydetmek için şifre giriniz.", "ASLAN") <> 123 Then
Cancel = True

Call tarih

MsgBox ("Girdiğiniz şifre doğru değil")
End If
End Sub

Sub tarih()
With Sheets(1).Range("A1")
.Formula = "=TODAY()"
.Value = .Value
End With
End Sub
 
Aşağıdaki kodları buçalışmakitabı altına kaydedip denermisiniz

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call tarih
a = Application.InputBox("Kaydetmek için şifre giriniz.", "ASLAN")
If a <> 1234 Then
Cancel = True
MsgBox ("Girdiğiniz şifre doğru değil")
Range("a1") = ""
End If
End Sub
 
Sayın Tahsin Bey ilginizi için çok teşekkür ediyorum.

Kodlar gayet güzel çalışıyor, ancak A1 hücresinde eski tarih var, kodlar şifre doğru değilse A1 hücresindeki tarihi siliyor, şifre doğru değilse eski tarih kalmalı.
 
Sayın Tahsin Bey bu işlemi dosyayı güncelleme kontrolü için kullanmak istemiştim.
 
Aşağıdaki gibi deneyin.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Call tarih
    If Application.InputBox("Kaydetmek için şifre giriniz.", "ASLAN") <> 123 Then
        Cancel = True
        MsgBox ("Girdiğiniz şifre doğru değil")
    End If
End Sub
 
Sayın Korhan Bey tarih 1.kod'daki gibi çalışmıyor, ancak 2.kod'da gibi çalışıyor.

Anlamadım.

İlginiz için çok teşekkür ederim, Allah razı olsun, hayırlı çalışmalar, hayırlı geceler.

1.Kod

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Application.InputBox("Kaydetmek için şifre giriniz.", "ASLAN") <> 123 Then
        Cancel = True
    [B]Call tarih[/B]
        MsgBox ("Girdiğiniz şifre doğru değil")
    End If
End Sub

2.Kod

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    [B]Call tarih[/B]
    If Application.InputBox("Kaydetmek için şifre giriniz.", "ASLAN") <> 123 Then
        Cancel = True
        MsgBox ("Girdiğiniz şifre doğru değil")
    End If
End Sub
 
buçalışmakitabı na
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(1).[A1] =Format(Date, "dd/mm/yyyy")
End Sub
kodlarını ilave edin,modüldeki tarih adlı kodlarınızı silin.
şifre doğru ise kapanışta a1 hücresine tarih yazacak, doğru değilse kayıt yapmayacağı için eski tarih kalacaktır.
 
Sayın Tahsin Bey çok teşekkür ederim, şimdi tam istediğim gibi oldu, Allah razı olsun.

Hayırlı geceler, hayırlı çalışmalar.
 
Geri
Üst