Adım 1: UserForm Oluşturma
Excel'de
Alt + F11tuşlarına basarak VBA düzenleyicisini açın.InsertmenüsündenUserFormseçeneğini seçin ve yeni bir UserForm ekleyin.
Adım 2: UserForm Tasarımı
UserForm üzerine birkaç
Label,OptionButton, veCommandButtonekleyin.Örneğin:
Bir
Labelile soruyu göstermek için.Dört
OptionButtonile çoktan seçmeli seçenekleri göstermek için.Bir
CommandButtonile cevabı kontrol etmek için.
Adım 3: Kod Ekleme
UserForm'unuzun kod kısmına aşağıdaki VBA kodlarını ekleyin:
Dim sorular As Variant
Dim cevaplar As Variant
Dim secenekler As Variant
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?")
secenekler = Array( _
Array("İstanbul", "Ankara", "İzmir", "Bursa"), _
Array("Atlantik", "Hint", "Pasifik", "Arktik"), _
Array("2.71", "3.14", "1.62", "1.41"))
cevaplar = Array("Ankara", "Pasifik", "3.14")
soruIndex = 0
dogruSayisi = 0
' İlk soruyu göster
GosterSoru
End Sub
Private Sub CommandButton1_Click()
Dim kullaniciCevap As String
' Kullanıcının seçimini kontrol et
If OptionButton1.Value Then
kullaniciCevap = OptionButton1.Caption
ElseIf OptionButton2.Value Then
kullaniciCevap = OptionButton2.Caption
ElseIf OptionButton3.Value Then
kullaniciCevap = OptionButton3.Caption
ElseIf OptionButton4.Value Then
kullaniciCevap = OptionButton4.Caption
End If
' Cevabı kontrol et
If kullaniciCevap = cevaplar(soruIndex) Then
MsgBox "Doğru!", vbInformation
dogruSayisi = dogruSayisi + 1
Else
MsgBox "Yanlış. Doğru cevap: " & cevaplar(soruIndex), vbExclamation
End If
' Bir sonraki soruya geç
soruIndex = soruIndex + 1
If soruIndex < UBound(sorular) + 1 Then
GosterSoru
Else
MsgBox "Test tamamlandı! Toplam doğru cevap sayınız: " & dogruSayisi, vbInformation
Unload Me
End If
End Sub
Private Sub GosterSoru()
' Soruyu ve seçenekleri göster
Label1.Caption = sorular(soruIndex)
OptionButton1.Caption = secenekler(soruIndex)(0)
OptionButton2.Caption = secenekler(soruIndex)(1)
OptionButton3.Caption = secenekler(soruIndex)(2)
OptionButton4.Caption = secenekler(soruIndex)(3)
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
End Sub
