• DİKKAT

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

Çözüldü SAATİ GELİNCE BUTON AKTİF OLSUN. (USERFORM AÇIKKEN)

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
UserForm1 üzerinde "SAAT" adıyla label var ve anlık olarak saati gösteriyor. benim sorum şu. Label üzerindek saat 12:00:00 a eşit oldugğunda veya 12:00:00 dan büyükse commandbutton görünür olsun. tabi userform açık olsa bile sistem yerine getirsin. userformu kapatıp açmayayım.

kısaca saat 12 den sonra düğme görünsün ama 12 den önceyse görünmesin

kullandığım kodlama aşağıda ama işlem yapmıyor


Private Sub UserForm_Initialize()
If SAAT.Caption >= ("12:00:00") Then
CommandButton2.Visible = True
End If
End Sub



Saygılarımla
 
Merhaba,

Aktif saat için kullandığınız tarzda aktif çalışan bir saat sorgusu oluşturursanız istediğiniz sonuca ulaşabilirsiniz. Sizin yazdığınız kod sadece form yüklenme esnasında çalışacağı için sonuç vermeyecektir.
 
Bu kodu bir dene

Kod:
Private Sub UserForm_Initialize()
If Format(SAAT.Caption, "hh:nn:ss") >= Format("12:00:00", "hh:nn:ss") Then
CommandButton2.Visible = True
End If
End Sub
 
Netten bulduğum saat makrosunu, sizin örneğinize göre uyarladım. Bir deneyin işinize yarayacak mı ?
Label için yazılmış saat kodlarını da aşağıdaki örneğe göre düzenleyebilirsiniz :)
--------------------------------------------

Kod:
Private Sub UserForm_Initialize()

CommandButton2.Visible = False
Call Recalc

End Sub


Private Sub UserForm_Terminate()

Call Disable

End Sub

------------------------------------------------------------------------
' Bu kodları module kopyalayın.

Dim SchedRecalc As Date
Sub Recalc()
If Format(Time, "hh:nn:ss") >= "12:00:00" Then
UserForm1.CommandButton2.Visible = True: Call Disable: Exit Sub
End If
Call SetTime
End Sub

Sub SetTime()
SchedRecalc = Now + TimeValue("00:00:01")

Application.OnTime SchedRecalc, "Recalc"
End Sub

Sub Disable()
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False
End Sub
 
Son düzenleme:
Dosyanızı bir paylaşım sitesiyle paylaşıp gönderebilirseiniz bakabilirim :)
 
cengiz hocam şubede olduğum için dosya paylaşım sitesi kullanamıyorum
 
Hımm. O zaman diğer hocalarımızdan biri kontrol edebilir sanırım :)
 
Netten bulduğum saat makrosunu, sizin örneğinize göre uyarladım. Bir deneyin işinize yarayacak mı ?
Label için yazılmış saat kodlarını da aşağıdaki örneğe göre düzenleyebilirsiniz :)
--------------------------------------------

Kod:
Private Sub UserForm_Initialize()

CommandButton2.Visible = False
Call Recalc

End Sub


Private Sub UserForm_Terminate()

Call Disable

End Sub

------------------------------------------------------------------------
' Bu kodları module kopyalayın.

Dim SchedRecalc As Date
Sub Recalc()
If Format(Time, "hh:mm:ss") >= "12:00:00" Then
UserForm1.CommandButton2.Visible = True: Call Disable: Exit Sub
End If
Call SetTime
End Sub

Sub SetTime()
SchedRecalc = Now + TimeValue("00:00:01")

Application.OnTime SchedRecalc, "Recalc"
End Sub

Sub Disable()
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False
End Sub
CommanButton2 yazan yerleri, CommandButton1 yapıp deneyin.
 
Zülfü bey bende çalışıyor saati modüldeki zamanı 15:29 yapıp denedim, o ana gelince buton aktif oldu.
Kodlar labelden almıyor. direk sistem saatinden alıyor. Bu yüzden olmuş olabilir. Zaman ile oynarsanız olur inş.
 
Bu kodunuza kırmızı bölümü ekledim
 
Son düzenleme:
kodu bu şekilde düzenletiniz.
Rich (BB code):
Sub Recalc()
UserForm1.SAAT.Caption = Format(Now, "hh.nn.ss")
If Format(UserForm1.SAAT.Caption, "hh:nn:ss") >= Format("15:06:00", "hh:nn:ss") Then
UserForm1.CommandButton1.Visible = True: Call Disable: Exit Sub
End If
Call SetTime
End Sub
 
Son düzenleme:
@Mahmut Bayram; @halit3 evet hocam haklısınız oldu. ben orda time yi aslında label ismi olarak algıladım ve ona göre uyarladım. sizin yaptığınız direk sistem üzerinden alıyor ve öylesi daha mükemmel elbette. emekleriniz için çok teşekkür ederim

üyelerin işine yarar diye bitmiş dosya örneği ektedir.
 

Ekli dosyalar

Son düzenleme:
Sayın halit3 hocam ben kodlarken saat formatındaki dakikayı yanlış kodlamışım. ("mm") olarak.

Siz düzeltme yapmışsınız ama burada yine mm kalmış. Format(UserForm1.SAAT.Caption, "hh:mm:ss") Ordada nn olması gerekiyor sanırım.. :)
 
Sayın halit3 hocam ben kodlarken saat formatındaki dakikayı yanlış kodlamışım. ("mm") olarak.

Siz düzeltme yapmışsınız ama burada yine mm kalmış. Format(UserForm1.SAAT.Caption, "hh:mm:ss") Ordada nn olması gerekiyor sanırım.. :)

Evet mm (ay) olarak kalmış nn (dakika) yaptım
 
evet bende bi farklılık oldugunu farkettim. emeklerinize sağlık
 
@Haluk sayin haluk ilginiz icin cok tesekkur ederim. ancak 12 yil once paylasilmis bir dosyayi sanki atif eder gibivsoylemeniz emegi gecen @Mahmut Bayram ve @halit3 hocamizin emegini ve ilgisini kucumsemek gibi olmus. yanlks algiladiysamd ozur dilerim am ben oyle algiladim hicbir hocamizin hicbir emegini ufacikta olsa kucumswmek ve yillar sonra paylasmalarini hafife almak uzucu bir durum bence. emegi gecen butun arkadaslarimiza twsekkur ederim ayrica sizdw biseyler paylastiginiz icin sizede twsekkur ederim
 
@Haluk sayin haluk ilginiz icin cok tesekkur ederim. ancak 12 yil once paylasilmis bir dosyayi sanki atif eder gibivsoylemeniz emegi gecen @Mahmut Bayram ve @halit3 hocamizin emegini ve ilgisini kucumsemek gibi olmus. yanlks algiladiysamd ozur dilerim am ben oyle algiladim hicbir hocamizin hicbir emegini ufacikta olsa kucumswmek ve yillar sonra paylasmalarini hafife almak uzucu bir durum bence. emegi gecen butun arkadaslarimiza twsekkur ederim ayrica sizdw biseyler paylastiginiz icin sizede twsekkur ederim


-Mesajınızı 3 defa okudum ama hiçbir şey anlamadım.... Ne demek istiyorsunuz?

-Kimin emeğini küçümsemişim?

-".... ancak 12 yil once paylasilmis bir dosyayi sanki atif eder gibivsoylemeniz....." >>>>> Burada ne demek istediğinizi hiç anlamadım. Burada bahsettiğim 12 yıl önceki dosya Zeki Beye ait bir dosya. Halit Bey veya Mahmut Beye ait değil..... ayrıca, benim onlara hitaben herhangi bir olumsuz hitabım da olmadı.

.
 
Son düzenleme:
Geri
Üst