1-UserForm Tasarımı:
Toolbox'tan Label, TextBox, CommandButton ve ProgressBar gibi kontrolleri sürükleyip UserForm'unuza ekleyin.
Örneğin:
Bir Label için Soru:
Bir TextBox kullanıcıdan cevap almak için
Bir CommandButton ile cevabı kontrol etmek için
2-Kod Ekleme:
UserForm'unuzun kod kısmına aşağıdaki VBA kodlarını ekleyin:
Dim sorular As Variant
Dim cevaplar As Variant
Dim dogruCevap As String
Dim soruIndex As Integer
Dim dogruSayisi As Integer
Private Sub UserForm_Initialize()
' Soruları ve cevapları tanımla
sorular = Array("Türkiye'nin başkenti neresidir?", "Dünya'nın en büyük okyanusu hangisidir?", "Pi sayısı yaklaşık olarak kaçtır?", _
"Ay'daki en yüksek dağın adı nedir?", "En küçük asal sayı nedir?", "Yılın kaç günü vardır?", _
"Güneş Sistemi'ndeki en büyük gezegen hangisidir?", "İnsan vücudundaki en büyük organ nedir?", "Kaç kıta vardır?", _
"Bir düzinede kaç tane vardır?")
cevaplar = Array("Ankara", "Pasifik", "3.14", "Mons Huygens", "2", "365", "Jüpiter", "Cilt", "7", "12")
soruIndex = 0
dogruSayisi = 0
' İlk soruyu göster
Me.Label1.Caption = sorular(soruIndex)
dogruCevap = cevaplar(soruIndex)
End Sub
Private Sub CommandButton1_Click()
Dim kullaniciCevap As String
kullaniciCevap = Me.TextBox1.Text
If StrComp(kullaniciCevap, dogruCevap, vbTextCompare) = 0 Then
MsgBox "Doğru!", vbInformation
dogruSayisi = dogruSayisi + 1
Else
MsgBox "Yanlış. Doğru cevap: " & dogruCevap, vbExclamation
End If
' Bir sonraki soruya geç
soruIndex = soruIndex + 1
If soruIndex < UBound(sorular) + 1 Then
Me.Label1.Caption = sorular(soruIndex)
dogruCevap = cevaplar(soruIndex)
Me.TextBox1.Text = ""
Else
MsgBox "Test tamamlandı! Toplam doğru cevap sayınız: " & dogruSayisi, vbInformation
Unload Me
End If
End Sub
Bu kod, UserForm yüklendiğinde 10 soruyu sırayla kullanıcıya gösterir. Kullanıcı her soruya cevap verdikten sonra, doğru veya yanlış olduğunu belirten bir mesaj kutusu gösterir ve bir sonraki soruya geçer. Son soru yanıtlandığında, toplam doğru cevap sayısı kullanıcıya bildirilir.
