Soru Form nesnesi üzerinde grafik oluşturma

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#1
Herkese iyi akşamlar.
Sınıf için hazırladığım uygulamanın bir bölümünde, çocuklara uyguladığım kazanım tespit amaçlı deneme sınavları, veritabanına aktarıp analiz yapmak üzere bir çalışma hazırlıyorum. Önemli bir kısımı bitti ancak form nesnesi üzerinde veritabanından veri çekerek grafik oluşturmak excelde ne derece mümkün? araştırdım ancak tam bir sonuca ulaşamadım. Araştırmaya devam ederken ilgilenecek olanlardan da çözüm olabilir mi düşüncesi ile dosyayı ekliyorum. Zaten incelenince anlaşılacaktır. Yine de açıklamak gerekirse form nesnesi üzerinde iken öğrenci ve sınav comboboxlarından yapılacak seçim ile ilgili öğrencinin o sınava ait grafiklerini image nesnesi üzerinde görmek istiyorum.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#2
Merhaba,
Grafik sayfada oluşturulup, resim olarak kaydedilerek userforma aldırılabilir. Şurada bununla ilgili bir örnek var.
Ancak ben, userform yerine başka bir sayfayı userform gibi tasarlayıp işlemleri sayfa üzerine yaptırmayı tercih ederdim.
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#3
Merhaba,
Grafik sayfada oluşturulup, resim olarak kaydedilerek userforma aldırılabilir. Şurada bununla ilgili bir örnek var.
Ancak ben, userform yerine başka bir sayfayı userform gibi tasarlayıp işlemleri sayfa üzerine yaptırmayı tercih ederdim.
Değerli görüşleriniz için teşekkürler Ömer Bey. Belirttiğiniz yöntemle eklediğim grafikler var ancak biraz sınırları zorlayarak dinamik grafik eklemek mümkün müdür? diye bakıyorum, ancak sanırım excel buna müsait değil. Belki bir gün forma veri aldığımda anlık grafik oluşturabilecek bir yapıya kavuşur excel!... :)
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#4
Geçen yıl bir arkadaşın isteği üzere ekteki gibi basit bir dosya hazırlamıştım. Dinamik grafik açısından örnek olabilir. Yine "dinamik grafik" olarak arama yaparsanız örnek başka dosyalar da bulabilirsiniz.
 

Ekli dosyalar

Katılım
31 Aralık 2005
Mesajlar
3,734
Beğeniler
125
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
#5
VB6' ya ait MSCHRT20.OCX isimli kontrolü edinebilirseniz form üzerinde dinamik grafik oluşturabilirsiniz. 32 bit Office ile kullanabilir.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#6
VB6' ya ait MSCHRT20.OCX isimli kontrolü edinebilirseniz form üzerinde dinamik grafik oluşturabilirsiniz. 32 bit Office ile kullanabilir.
Denedim oldu, kullanacağımı pek sanmıyorum ama yine de teşekkürler. Sayenizde farklı bir şey öğrenmiş oldum.
Ben de nasıl yüklendiğini yazayım da sonrakilere kolaylık olsun. (2007 için)
Şuradan owc11.exe isimli dosyayı indirip çalıştırıp kurulumu yapıyoruz. (Office 2003 Add-in: Office Web Components)
Vba editöründen toolbox sağ tık "Additional Controls" ve "Microsoft Office Chart 11" seçeneğini bulup seçili hale getiriyoruz.
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#7
Geçen yıl bir arkadaşın isteği üzere ekteki gibi basit bir dosya hazırlamıştım. Dinamik grafik açısından örnek olabilir. Yine "dinamik grafik" olarak arama yaparsanız örnek başka dosyalar da bulabilirsiniz.
Ömer Bey tekrar teşekkürler. Belirttiğiniz gibi tekrar sayfa üzerinde dinamik grafik oluşturmaya döndüm. Bunun sebebi veritabanına sürekli sınav sonucu girecek olmam, bu nedenle form üzerinde image nesnesini sürekli güncellemek sorun olacağından, belirttiğiniz yönteme döndüm.Ancak dinamik grafiği oluştururken option buton seçimine bağlı birçok örneği inceledim ancak ihtiyaca cevap vermiyor. Ekli dosyada da göreceğiniz üzere benim veritabanımda bir öğrencinin birden fazla sınavı var. Option buton ile tek seçime bağlı dinamik grafikler oluşuyor. Oysa ben önce combobox1 ile öğrenci seçip yine combobbox2 ile sınavı seçtikten sonra dinamik grafik oluşturmak istiyorum.Bu mümkün müdür? Dosyanın son halini ekliyorum. Şimdiden teşekkürler.
 

Ekli dosyalar

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#8
Dashboard üzerinden bir yere geldim, ancak dashboard veri eklendikçe güncelleme yapmıyor mu? Yapıyorsa da ben beceremedim. Dosyanın son hali ekte, veritabanına sınav ve öğrenci eklendikçe dashboard sürekli güncellenecek. Örneğin 3.sınav sonucu eklememe rağmen dilimleyicide gözükmüyor..
 

Ekli dosyalar

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#9
Uzun bir uğraş sonucunda pivottable ile bu işin olmayacağını anladım. Normal veri tablomdan grafik oluşturuyorum ve combobox seçimine göre de dinamik bir şekilde güncel olarak grafiği almayı becerdim. Ancak öğrencinin birden fazla sınavı olduğu için iki combobox ile tablo oluşturup buradan grafik oluşturmak istiyorum. Buna bağlı olarak
1-İki comboboxu birbirine nasıl bağlayabiliriz?
2-Bağlı comboboxlara göre sonuçları tabloya nasıl çağırabiliriz?
Dosya son hali ekte.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#10
Tekrar merhaba,
Gün boyu ilgilenemedim, bir sürü dosya eklemişsiniz. Sadece son dosyanıza baktım. Ona göre ekteki dosyayı hazırladım, inceleyiniz.
Comboboxları activex denetimi olarak ekledim ve A1 hücresine sıra numarasını yazdırdım. Ancak mükerrer kayıtlarda sorun olacaktır. Mesela; örnek dosyanızda Arda Kemal isimli öğrencinin sınav no: 1, 3, 2, 3 şeklinde idi.
 

Ekli dosyalar

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#11
Tekrar merhaba,
Gün boyu ilgilenemedim, bir sürü dosya eklemişsiniz. Sadece son dosyanıza baktım. Ona göre ekteki dosyayı hazırladım, inceleyiniz.
Comboboxları activex denetimi olarak ekledim ve A1 hücresine sıra numarasını yazdırdım. Ancak mükerrer kayıtlarda sorun olacaktır. Mesela; örnek dosyanızda Arda Kemal isimli öğrencinin sınav no: 1, 3, 2, 3 şeklinde idi.
Ömer Bey çok teşekkürler. Her zamanki gibi harikasınız. Belirttiğiniz husus rasgele veri girmemden kaynaklanıyor. Mükerrer kayıt sorunum yok. Bir öğrenci aynı isimle birden fazla doğal olarak sınava girecektir. Burada ikinci kutu seçimi veriyi tekleştiriyor. Ancak anlayamadığım benim bilgisayarın grafik kartında mı bir sorun var acaba ? form denetimi titriyor iz bırakıyor, seçim yapılmasına rağmen açılır kutu kapanmıyor.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#12
Direk üzerine gelir gelmez açılması için combobox nesnelerine mouse_move olayı eklemiştim. Ondan kaynaklanıyor olabilir.
İsterseniz o olayı iptal ediniz.
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#13
Direk üzerine gelir gelmez açılması için combobox nesnelerine mouse_move olayı eklemiştim. Ondan kaynaklanıyor olabilir.
İsterseniz o olayı iptal ediniz.
Ömer Bey teşekkürler. Belirttiğiniz gibi sorun düzeldi. Yalnız bir grafik daha eklemeye çalışıyorum, combobox seçimine aktarmayı başardım ancak veritabanından sadece o sınav nosuna göre listeleyemedim. Dosyanın son hali ekte.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#14
Niyetinizi tam olarak anladım mı bilemiyorum ama şu kodu bir deneyiniz.
PHP:
Private Sub ComboBox3_Change()
Set vt = Sheets("SVERİTABANI")
x = 25
Range("25:250").ClearContents
Application.ScreenUpdating = False
For a = 2 To vt.Cells(Rows.Count, "B").End(3).Row
    If vt.Cells(a, "C").Text = Sayfa2.ComboBox3.TextThen
        For b = 1 To 17
            Cells(x, b).Value = vt.Cells(a, b + 1)
        Next
        x = x + 1
    End If
Next
Application.ScreenUpdating = True
End Sub
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#15
Niyetinizi tam olarak anladım mı bilemiyorum ama şu kodu bir deneyiniz.
PHP:
Private Sub ComboBox3_Change()
Set vt = Sheets("SVERİTABANI")
x = 25
Range("25:250").ClearContents
Application.ScreenUpdating = False
For a = 2 To vt.Cells(Rows.Count, "B").End(3).Row
    If vt.Cells(a, "C").Text = Sayfa2.ComboBox3.TextThen
        For b = 1 To 17
            Cells(x, b).Value = vt.Cells(a, b + 1)
        Next
        x = x + 1
    End If
Next
Application.ScreenUpdating = True
End Sub
Öncelikle teşekkürler Ömer Bey. Kod kısmını hallettmiştim ben 3.comboboxa sınavları benzersiz olarak listeliyorum. Bunun da değerini (satır nosunu) A21 hücresine yazdırıyorum. İstediğim ise bu sayfada yani grafik sayfasında sınavı listeleyip ona göre grafik oluşturmak. Örneğiin comboboxtan 6 yı seçtiğimde A21 e 6 yazacaktır bu 6 yı c sütununu kontrol ederek 6.sınavı olan herkesi listeleyecek formülle mümkündür belki ancak kafam durdu şu an. Ancak kod çözmüş gözüküyor tekrar teşekkürler.
İfade edemediysem lütfen kusuruma bakmayınız.
 
Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#16
Rica ederim, kod çözmüşse doğru anlamışım demek ki...
Formül kullanmak isterseniz aşağıdaki dizi formülünü A25 hücresine uygulayıp aşağı ve sağa çekerek çoğaltınız.
=EĞERHATA(İNDİS(SVERİTABANI!B$1:B$38;KÜÇÜK(EĞER(SVERİTABANI!$C$1:$C$38=$A$21;SATIR($A$1:$A$38);"");SATIRSAY($25:25)));"")
İyi çalışmalar...
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#17
Rica ederim, kod çözmüşse doğru anlamışım demek ki...
Formül kullanmak isterseniz aşağıdaki dizi formülünü A25 hücresine uygulayıp aşağı ve sağa çekerek çoğaltınız.

İyi çalışmalar...
Teşekkürler Ömer Bey . Kodlar sorunsuz çalıştı.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#18
Rica ederim, iyi çalışmalar diliyorum.
 

hexadesimal

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
753
Beğeniler
8
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
#19
İyi akşamlar. Önceki çalışmadan devamla çalışmaya bir ek daha yapmak istiyorum. Açıklama dosyada mevcut umarım mümkündür.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#20
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ı?
 
Üst