InputBox

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Arkadaşlar, hocalarım. InputBox ile hücreye tarih giriyorum ama formatı nasıl ayarlanır.
Mesela 01.01.1900 formatında değilse yanlış değer verse.

Mesela örnekte, iki rakam arası. Ama format nasıl verilir.
Şimdiden teşekkür ederim.

Private Sub Workbook_Open()

basla:

puan = InputBox("Puanınızı girin", "Merhaba")
If(puan>=0) And (puan<=100) Then
MsgBox("Doğru puan girdiniz")
Else
MsgBox("Lütfen geçerli puan giriniz")

GoTo basla

End If

End Sub
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,128
Excel Vers. ve Dili
Microsoft Office 2019 English
StartDate = Application.InputBox(MsgGP, TitleMsg, FormatDateTime(Date, vbShortDate), Type:=1)
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")


İşinizi görüyor mu bir kontrol eder misiniz.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
StartDate = Application.InputBox(MsgGP, TitleMsg, FormatDateTime(Date, vbShortDate), Type:=1)
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")


İşinizi görüyor mu bir kontrol eder misiniz.
Hemen deniyorum hocam.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
StartDate = Application.InputBox(MsgGP, TitleMsg, FormatDateTime(Date, vbShortDate), Type:=1)
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")


İşinizi görüyor mu bir kontrol eder misiniz.
Hocam, şu şekilde yazdım ama olmadı.


Private Sub Workbook_Open()

basla:

dogum = InputBox("Doğum tarihinizi giriniz.", "Merhaba")


StartDate = Application.InputBox(MsgGP, TitleMsg, FormatDateTime(Date, vbShortDate), Type:=1)
Sheets("Sayfa1").Select
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")


Else

MsgBox ("Lütfen geçerli bir tarih giriniz")

GoTo basla

End If

End Sub
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,128
Excel Vers. ve Dili
Microsoft Office 2019 English
Dim mbox As String
Dim StartDate As Date

mbox = InputBox("Tarih Giriniz", "Tarih Kontrolu")
If IsDate(mbox) Then

'Tarih Dogru girilirse bunu yap
StartDate = CDate(mbox)
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")

Else
If mbox = "" Then
' Giriþi bos geçerse iptal et
Exit Sub
Else
' tarih girmez ise uyari ver
MsgBox "Lutfen Sadece Tarih Giriniz", vbCritical, "UYARI"
Exit Sub
End If
End If

Buyrun
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Dim mbox As String
Dim StartDate As Date

mbox = InputBox("Tarih Giriniz", "Tarih Kontrolu")
If IsDate(mbox) Then

'Tarih Dogru girilirse bunu yap
StartDate = CDate(mbox)
Range("A1").Value = Format(StartDate, "dd/mm/yyyy")

Else
If mbox = "" Then
' Giriþi bos geçerse iptal et
Exit Sub
Else
' tarih girmez ise uyari ver
MsgBox "Lutfen Sadece Tarih Giriniz", vbCritical, "UYARI"
Exit Sub
End If
End If

Buyrun
Hocam öncelikle emeğinize sağlık. Çok teşekkür ederim. Ama sadece sizin yazdığınız kodları girdim, açılmadı. Nerede hata yaptım acaba?
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Hocam çok teşekkür ederim. Kendime uyarladım. Ben hata yapmışım.
Hocam şu an lazım değil ama, bilgim olsun. Size zahmet olacak ama, tarih değil de, sadece rakam ya da sadece harf formatı yazdırmak istersek nasıl yaparız. Mesela 1 ile 100 arası biliyorum. Ama belki yanıt -1,2 olacak.
Şimdiden teşekkür ederim.
Saygılarımla.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Hocam, sadece harf girilebilsin yapamadım. Yardımcı olabilir misiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,263
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Inputbox nesnesine veri girişi anında bu kontrolü sağlamak için sanırım API kullanmak gerekir.

Genellikle veri girişi yapıldıktan sonra yazılan ifadenin türü sorgulanarak sonuca gidilmektedir.

Bir örnek kod hazırladım. Kendinize göre düzenlersiniz.

C++:
Option Explicit

Sub Test()
    Dim My_Text As Variant
    
    My_Text = Application.InputBox("Lütfen metinsel veri giriniz.", Type:=2)
    
    If My_Text = False Then
        MsgBox "İptal tuşuna bastınız...", vbInformation
        Exit Sub
    End If
    
    If My_Text = "" Then
        MsgBox "Veri girişi yapmadınız!", vbCritical
        Exit Sub
    End If
    
    If IsNumeric(My_Text) Then
        MsgBox "Lütfen metinsel veri giriniz!", vbCritical
        Exit Sub
    Else
        MsgBox "Metinsel veri girişi yaptınız...", vbInformation
    End If
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Inputbox nesnesine veri girişi anında bu kontrolü sağlamak için sanırım API kullanmak gerekir.

Genellikle veri girişi yapıldıktan sonra yazılan ifadenin türü sorgulanarak sonuca gidilmektedir.

Bir örnek kod hazırladım. Kendinize göre düzenlersiniz.

C++:
Option Explicit

Sub Test()
    Dim My_Text As Variant
   
    My_Text = Application.InputBox("Lütfen metinsel veri giriniz.", Type:=2)
   
    If My_Text = False Then
        MsgBox "İptal tuşuna bastınız...", vbInformation
        Exit Sub
    End If
   
    If My_Text = "" Then
        MsgBox "Veri girişi yapmadınız!", vbCritical
        Exit Sub
    End If
   
    If IsNumeric(My_Text) Then
        MsgBox "Lütfen metinsel veri giriniz!", vbCritical
        Exit Sub
    Else
        MsgBox "Metinsel veri girişi yaptınız...", vbInformation
    End If
End Sub
Hocam, çok teşekkür ederim. Dosya açıldığı zaman çalışan, Sayfa1 A1 hücresine yazan şekle uyarladım. Emeğinize sağlık. Var olun.
 
Üst