• DİKKAT

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

test soru ve cevap şıklarının yerini değiştirme

Katılım
20 Aralık 2010
Mesajlar
2
Excel Vers. ve Dili
Office 2007
20 soruluk bir testin soru ve cevaplarının yerini değiştiren bi makro oluşturmam lazım. excelin normal sayfası üzerinden yapmam gerekiyor bu işlemi. nasıl yapabilirim yardımcı olabilir misiniz? (yarın sınavım var)
 

Ekli dosyalar

Ekte dosyanıza gerekli kodları yazdım. Sanıyorum isteğinizi karşılayacaktır.
 

Ekli dosyalar

  • test.rar
    test.rar
    19.3 KB · Görüntüleme: 107
hocam nasıl yaptığınızı anlatabilir misiniz acaba? ben bu işlemi kopyala yapıştır komutlarıyla nasıl yapabilirim sınavda?
 
Eğer VBA bilginiz yeterli değilse kopyala-yapıştır ile sonuç alamazsınız. Soru sayısı değiştiğinde yada soruların satır ve sütun yerleri değiştiğinde kod içinde de değişiklik yapmak gerekir. Ben yinede kısaca kodun çalışma mantığını açıklamaya çalışayım.

Öncelikle sorular "sorular" isimli sayfada A sütununda, cevaplarda B-F sütunlarında sıralanmıştır. Kod içindeki ilk döngü soruları, ikinci döngüde cevapları random olarak karışık şekilde sıralamaktadır. Her soru ve cevabın tekrarsız olması için yine "sorular" isimli sayfadaki G ve H yardımcı sütunları kullanılmıştır.
 
Merhabalar. Macronuz çok kullanışlı gerçekten. Soru sayısı değişince nasıl olacak. soru sayısını inputboxtan girebileceğimiz bişey olsa iyi olurdu. İnputboxa gerek kalmadan kod içinde hangi değerleri değiştirmem lazım. Mesela 30 soru için....
 
Sayın Levent hocam,
Elinize sağlık, fonksiyon ve makrolarla oluşturduğumu siz bir makroya bağlamışsınız. Muhteşem.
Bu tür test çalışmalarında doğru cevapların hangi şık olduğu ve doğru cevapların da eş sayıda farklı şıklarda olması isteniyor. Yani 20 soruluk 5 şıklı testte 4 cevap A, 4 cevap B, ... şeklinde olmalı. Bu çalışmaya bu da eklenir ve doğru şıklar tren gibi bir hücreye dizilirse okullarda çalışan öğretmen arkadaşların çok işine yarayabilir.
Saygılarımla
 
Ekte dosyanıza gerekli kodları yazdım. Sanıyorum isteğinizi karşılayacaktır.

Sayın hocam merhabalar. Bu dosyada bulunan soru ve cevapları 4 grup oluşturacak şekilde düzenleyebilmemiz mümkün mü ? Soru ve şıkların yeri her grupta farklı yerlerde olabilir mi ?
 

Ekli dosyalar

Sayın hocam merhabalar. Bu dosyada bulunan soru ve cevapları 4 grup oluşturacak şekilde düzenleyebilmemiz mümkün mü ? Soru ve şıkların yeri her grupta farklı yerlerde olabilir mi ?

Her çalıştırdığınızda şıkların yeri değişecektir.
Kod:
Sub test()
    Dim i%, ii%, rng As Range, tmp$, sut, s1 As Byte, s2 As Byte
    sut = Array(4, 6, 8, 10)
    For i = 3 To 52
    
        For ii = 1 To 10
basla:
            s1 = WorksheetFunction.RandBetween(0, 3)
            s2 = WorksheetFunction.RandBetween(0, 3)
            If s1 = s2 Then GoTo basla
            tmp = Cells(i, sut(s1)).Value
            Cells(i, sut(s1)).Value = Cells(i, sut(s2)).Value
            Cells(i, sut(s2)).Value = tmp
        Next ii
    Next i
End Sub
 
Sayın hocam merhabalar. Bu dosyada bulunan soru ve cevapları 4 grup oluşturacak şekilde düzenleyebilmemiz mümkün mü ? Soru ve şıkların yeri her grupta farklı yerlerde olabilir mi ?

Dosyanız ektedir.
 

Ekli dosyalar

Soruların yerleri de değişsin istenmiş.
Kod:
Sub test()
    Application.ScreenUpdating = False
    Dim i%, ii%, rng As Range, tmp, sut, s1 As Byte, s2 As Byte
    sut = Array(4, 6, 8, 10)
    For i = 3 To 52
        For ii = 1 To 10
basla:
            s1 = WorksheetFunction.RandBetween(0, 3)
            s2 = WorksheetFunction.RandBetween(0, 3)
            If s1 = s2 Then GoTo basla
            tmp = Cells(i, sut(s1)).Value
            Cells(i, sut(s1)).Value = Cells(i, sut(s2)).Value
            Cells(i, sut(s2)).Value = tmp
        Next ii
    Next i
    
    For i = 1 To 200
        
basla2:
        s1 = WorksheetFunction.RandBetween(3, 52)
        s2 = WorksheetFunction.RandBetween(3, 52)
        If s1 = s2 Then GoTo basla2
        tmp = Cells(s1, 2).Resize(, 9).Value
        Cells(s1, 2).Resize(, 9).Value = Cells(s2, 2).Resize(, 9).Value
        Cells(s2, 2).Resize(, 9).Value = tmp

    Next i
    
    Application.ScreenUpdating = True
End Sub
 
Dosyanız ektedir.


Levent Hocam merhabalar, şıkların yerini değiştiren programı genel yazılılar için kullanabileceğimiz biçimde dönüştürme şansınız var mı, örneğin sorular jpeg formatında ve cevaplarda jpeg resim dosyası formatında olabilir mi? Soruları aralarında belirli bir boşluk vererek sıralayabilir mi ?
 
Geri
Üst