Inputbox süre düzenlemesi

Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Merhaba,

Kullanılan makroda tarih girişi bulunan ınputbox ,günün tarihiyle açılıyor.
Değişiklik durumuna göre Ok seçeneği veya Enter tuşuyla devam ediliyor.
Herhangi bir değişiklik yoksa müdahale edilmeden örneğin 2sn bekledikten sonra otomatik devam etmesi için makroda nasıl düzenleme yapılabilir? Teşekkür ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bir örnek dosya gönderseniz daha açıklayıcı olurdu. Benim bildiğim standart bir fonksiyon olarak süreli inputbox yok. Ancak msgbox olabilir. Eğer işinize yararsa bu aşağıdaki msgbox'ı kullanabilirsiniz. Yada bir userform kullanarak kendinize özel bir inputbox oluşturabilirsiniz.

Kod:
Set nesne = CreateObject("WScript.Shell")
nesne.PopUp Date, 2, "Giriş", vbOKOnly + vbExclamation
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Bir örnek dosya gönderseniz daha açıklayıcı olurdu. Benim bildiğim standart bir fonksiyon olarak süreli inputbox yok. Ancak msgbox olabilir. Eğer işinize yararsa bu aşağıdaki msgbox'ı kullanabilirsiniz. Yada bir userform kullanarak kendinize özel bir inputbox oluşturabilirsiniz.

Kod:
Set nesne = CreateObject("WScript.Shell")
nesne.PopUp Date, 2, "Giriş", vbOKOnly + vbExclamation
Merhaba @Levent Menteşoğlu bey,
ilginize teşekkür ederim,eklediğim dosya umarım açıklayıcı olur.
Makro butonla çalıştıktan sonra, çıkan ımputbox müdahale edilmeden 2 sn sonra kendiliğinden kapansın istiyorum, mümkün mü?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızdaki kodu aşağıdaki gibi dener misiniz. Bu şekilde belki istediğinizi elde edebilirsiniz.

Kod:
Sub veri()

tarihi = Format(Evaluate("IF(WEEKDAY(TODAY(),2)=6,TODAY()-1,IF(WEEKDAY(TODAY(),2)=7,TODAY()-2,TODAY()))"), "d.m.yyyy")

Set nesne = CreateObject("WScript.Shell")

sor = nesne.PopUp(tarihi, 2, "Tarihi Değiştirmek İstermisiniz?", vbOKOnly + vbExclamation)

If sor = -1 Then Exit Sub

tarihi = InputBox("Günlük", "Tarih girişi", tarihi)
    If StrPtr(tarih) = 0 Then Exit Sub
    If tarihi = NullString Then Exit Sub
    Range("D5").Value = tarihi
    

End Sub
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Dosyanızdaki kodu aşağıdaki gibi dener misiniz. Bu şekilde belki istediğinizi elde edebilirsiniz.

Kod:
Sub veri()

tarihi = Format(Evaluate("IF(WEEKDAY(TODAY(),2)=6,TODAY()-1,IF(WEEKDAY(TODAY(),2)=7,TODAY()-2,TODAY()))"), "d.m.yyyy")

Set nesne = CreateObject("WScript.Shell")

sor = nesne.PopUp(tarihi, 2, "Tarihi Değiştirmek İstermisiniz?", vbOKOnly + vbExclamation)

If sor = -1 Then Exit Sub

tarihi = InputBox("Günlük", "Tarih girişi", tarihi)
    If StrPtr(tarih) = 0 Then Exit Sub
    If tarihi = NullString Then Exit Sub
    Range("D5").Value = tarihi
  

End Sub
Üstadım denedim sorunsuz çalışıyor, ancak sorun şu ki kullandığım büyük bir dosya ,farklı sayfalarında da tarih girişleri var ve web 'den veri çekiyor, amacım eğer tarih değişikliği yapılmayacaksa dosyaya bağımlı kalmadan süreci kendi kendine yürütmesi.Yani müdahaleye gerek kalmaması, eğer mümkünse.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dediğiniz elbette mümkün. Aşağıdaki gibi kodu exit sub ile sonlandıracağına başka bir satıra yönlendirebilirsiniz. Örneğin;

Kod:
Sub veri()

tarihi = Format(Evaluate("IF(WEEKDAY(TODAY(),2)=6,TODAY()-1,IF(WEEKDAY(TODAY(),2)=7,TODAY()-2,TODAY()))"), "d.m.yyyy")

Set nesne = CreateObject("WScript.Shell")

sor = nesne.PopUp(tarihi, 2, "Tarihi Değiştirmek İstermisiniz?", vbOKOnly + vbExclamation)

If sor = -1 Then goto 10

tarihi = InputBox("Günlük", "Tarih girişi", tarihi)
    If StrPtr(tarih) = 0 Then Exit Sub
    If tarihi = NullString Then Exit Sub
    
    10 Range("D5").Value = tarihi
    

End Sub
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Dediğiniz elbette mümkün. Aşağıdaki gibi kodu exit sub ile sonlandıracağına başka bir satıra yönlendirebilirsiniz. Örneğin;

Kod:
Sub veri()

tarihi = Format(Evaluate("IF(WEEKDAY(TODAY(),2)=6,TODAY()-1,IF(WEEKDAY(TODAY(),2)=7,TODAY()-2,TODAY()))"), "d.m.yyyy")

Set nesne = CreateObject("WScript.Shell")

sor = nesne.PopUp(tarihi, 2, "Tarihi Değiştirmek İstermisiniz?", vbOKOnly + vbExclamation)

If sor = -1 Then goto 10

tarihi = InputBox("Günlük", "Tarih girişi", tarihi)
    If StrPtr(tarih) = 0 Then Exit Sub
    If tarihi = NullString Then Exit Sub
   
    10 Range("D5").Value = tarihi
   

End Sub
Sayın @Levent Menteşoğlu vakit ayırıp ilgilendiğiniz için çok teşekkür ederim, sağolun.
 
Üst