Soru Form nesnesi üzerinde grafik oluşturma

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
870
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Yeni isteğinizde havada kalan (benim anlamlandıramadığım) birkaç husus var.
1. Yeni verilerin 38. satırdan itibaren yazdırılmasını istemişsiniz ancak bu satır üstteki verilerle çakışıyor. Bu durumda üstteki veri iptal olup 38. satır sabit mi kalacak yoksa bu satır üstteki veriye göre değişecek mi?
2. O derse ait bütün sınav sonuçları mı gelecek yoksa belli bir sınavın sonucu mu?
3. Belli bir sınavın (combobox3 te belirtilen) sonucu gelecekse niçin veri tabanı sayfasından istiyorsunuz, üstteki veriyi almak daha kolay olmaz mı?
Öncelikle günaydın ve tekrar teşekkürler.
1.Satır nosunu ben değiştirebilirim Ömer Bey ve tabiiki haklısınız çakışacaktır. Size gönderdiğim örnek dosya; bu çalışmayı eklemleyeceğim bir ana dosyam var. Satır çokta bağlayıcı değil aslında ben aldığım verileri dinamik grafiğe dönüştüreceğim ve 38.satırdan itibaren grafik olacak, veriler 1001.satırdan itibaren de listelenebilir.
2.O derse ait tüm sınavların sonuçları gelmeli ben grafikte bunları ders bazlı görmek istiyorum. Yoksa belirttiğiniz gibi sınav bazlı veriler var.
Umarım açıklayabildim. Tekrar teşekkürler.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba;
Sayın Hocam, aşağıdaki kodları grafik sayfasının kod bölümüne kopyalayıp deneyiniz. Farklı bir yapı isterseniz sutunlar = Array(...) içerisindeki sıralamayı isteğinize göre düzenleyiniz.

PHP:
Private Sub OptionButton1_Click()
VeriAl (OptionButton1.Caption)
End Sub
Private Sub OptionButton2_Click()
VeriAl (OptionButton2.Caption)
End Sub
Private Sub OptionButton3_Click()
VeriAl (OptionButton3.Caption)
End Sub
Private Sub OptionButton4_Click()
VeriAl (OptionButton4.Caption)
End Sub
Private Sub OptionButton5_Click()
VeriAl (OptionButton5.Caption)
End Sub


Private Sub VeriAl(ders As String)
Select Case ders
Case "TÜRKÇE"
    sutunlar = Array(1, 2, 3, 4, 5, 6)
Case "MATEMATİK"
    sutunlar = Array(1, 2, 3, 7, 8, 9)
Case "HAYAT BİLGİSİ"
    sutunlar = Array(1, 2, 3, 10, 11, 12)
Case "FEN BİLİMLERİ"
    sutunlar = Array(1, 2, 3, 13, 14, 15)
Case "İNGİLİZCE"
    sutunlar = Array(1, 2, 3, 16, 17, 18)
End Select

Set vt = Sheets("SVERİTABANI")
Range("38:100").ClearContents
sat = 38
For a = 1 To vt.Cells(Rows.Count, "B").End(3).Row
    sut = 1
    For Each vtsut In sutunlar
        Cells(sat, sut) = vt.Cells(a, vtsut)
        sut = sut + 1
    Next
    sat = sat + 1
Next
End Sub
 

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
870
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Ömer Bey her şey için teşekkürler.Kodlar sorunsuz çalışıyor uyarlamalar yaptım tabiiki. Sanırım sınav seçimi yapılmazsa ders bazlı grafik karmaşık (yatay eksende öğrenci ve sınav aynı eksende karmaşık duruyor) olacak, mümkünse ve eğer size zahmet olmayacaksa bir combobox ilavesi ile sınav seçtirerek listeleyebilirmiyiz? Yoksa da sağlık olsun tekrar teşekkürler.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Ben demiştim demeyi hiç sevmiyorum ;) (Bkz 2. ve 3. soru)
Kodun yapısını değiştirmeden en kolay biçimde şu ilaveyi yaptım, deneyiniz:
Rich (BB code):
For a = 1 To vt.Cells(Rows.Count, "B").End(3).Row
    If vt.Cells(a, "C").Text = ComboBox3.Text Then
        sut = 1
        For Each vtsut In sutunlar
            Cells(sat, sut) = vt.Cells(a, vtsut)
            sut = sut + 1
        Next
        sat = sat + 1
    End If
Next
 

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
870
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Ben demiştim demeyi hiç sevmiyorum ;) (Bkz 2. ve 3. soru)
Kodun yapısını değiştirmeden en kolay biçimde şu ilaveyi yaptım, deneyiniz:
Rich (BB code):
For a = 1 To vt.Cells(Rows.Count, "B").End(3).Row
    If vt.Cells(a, "C").Text = ComboBox3.Text Then
        sut = 1
        For Each vtsut In sutunlar
            Cells(sat, sut) = vt.Cells(a, vtsut)
            sut = sut + 1
        Next
        sat = sat + 1
    End If
Next
:)) Çok teşekkürler, biraz uğraştan sonra (Kendi çalışmamın kod ve tasarım yapısına uydurmak için) her şey mükemmel çalıştı. Çok teşekkürler tekrar .
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Rica ederim, iyi çalışmalar...
 
Üst