• DİKKAT

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

InputBox

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,477
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
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
 
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.
 
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
 
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
 
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?
 

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.
 
Hocam, sadece harf girilebilsin yapamadım. Yardımcı olabilir misiniz?
 
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
 
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.
 
Geri
Üst