• DİKKAT

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

Dinamik Grafik Hk.

  • Konbuyu başlatan Konbuyu başlatan mams8
  • Başlangıç tarihi Başlangıç tarihi
Katılım
18 Temmuz 2013
Mesajlar
42
Excel Vers. ve Dili
2013
Arkadaşlar merhaba,

Dinamik grafik oluşturma hakkında siteyi araştırdım. Fakat tamamını anlayabileceğim şekilde bir çözüme ulaşamadım. Bu da benim bilgisizliğimden kaynaklanıyor sanırım. Soruma gelince, ekteki dosyada anasayfada bulunan formu aç butonuna tıklandığında bir userform açılıyor. Bu formda iki tarih aralığında, seçilen motora göre dinamik grafik oluşturabilir miyiz? Grafikte kullanılacak veriler "veri" sayfasında bulunmakta.
Hatta excel dershanesi sayfasına sıfırdan dinamik grafik hazırlama hakkında bir konu açılabilirse bütün arkadaşlarımın bundan yararlanacağını düşünmekteyim.

Yardımlarınız için teşekkür eder, iyi çalışmalar dilerim..
 

Ekli dosyalar

Aşağıdaki kodu dener misiniz ?
Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
        Application.DisplayAlerts = False
            ActiveWorkbook.Charts.Delete
        Application.DisplayAlerts = True
    On Error GoTo 0
    
    Sheets("Veri").Select
    
    Set B0 = Sheets("Veri").Columns(1).Find(DTPicker1.Value)
    Set B1 = Sheets("Veri").Columns(1).Find(DTPicker2.Value)
    Set M = Sheets("Veri").Rows(1).Find(ComboBox1.Text)
    ColLtr = Replace(Cells(1, M.Column).Address(True, False), "$1", "")
    
    Union(Range("a" & B0.Row & ":a" & B1.Row), Range(ColLtr & B0.Row & ":" & ColLtr & B1.Row)).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    Unload Me
End Sub
 
Hamitcan Bey merhaba,

Verdiğiniz kodu ilgili butona uyguladım. kırmızı olarak ile işaretlediğim kod kısmında açık tarih aralığı verdiğim zaman hata vermekte. Örneğin 01.01.2014-01.04.2014 arasında herhangi bir motoru seçtiğim zaman.

Private Sub CommandButton1_Click()

On Error Resume Next
Application.DisplayAlerts = False
ActiveWorkbook.Charts.Delete
Application.DisplayAlerts = True
On Error GoTo 0

Sheets("Veri").Select

Set B0 = Sheets("Veri").Columns(1).Find(DTPicker1.Value)
Set B1 = Sheets("Veri").Columns(1).Find(DTPicker2.Value)
Set M = Sheets("Veri").Rows(1).Find(ComboBox1.Text)
ColLtr = Replace(Cells(1, M.Column).Address(True, False), "$1", "")

Union(Range("a" & B0.Row & ":a" & B1.Row), Range(ColLtr & B0.Row & ":" & ColLtr & B1.Row)).Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
Unload Me

End Sub

Yardımlarınız için tekrar teşekkür ederim
 
Kod şöyle çalışıyor; seçtiğiniz tarihleri A sütununda arıyor, başlangıç ve bitiş satırlarını belirliyor. Öyle ki seçtiğiniz tarih A sütununda yoksa hata vermiştir. Bu sorunu çözmek için ya mevcut tarihleri seçmelisiniz yada sizin mevcut tarihleri seçmenizi sağlamalıyız. Bunun için ancak size gelecek hafta dönüş yapabilirim.
 
UserForm üzerine 2 adet ComboBox ekledim ayrıca aşağıdaki kodları da yeniledim. Şu halde DtPicker nesnelerini kullanmamalısınız.

Kod:
Private Sub ComboBox2_Change()
    ComboBox2 = Format(ComboBox2.Text, "dd/mm/yyyy")
End Sub

Private Sub ComboBox3_Change()
    ComboBox3 = Format(ComboBox3.Text, "dd/mm/yyyy")
End Sub

Private Sub CommandButton1_Click()
    On Error Resume Next
        Application.DisplayAlerts = False
            ActiveWorkbook.Charts.Delete
        Application.DisplayAlerts = True
    On Error GoTo 0
    
    Sheets("Veri").Select
    
'    Set B0 = Sheets("Veri").Columns(1).Find(DTPicker1.Value)
'    Set B1 = Sheets("Veri").Columns(1).Find(DTPicker2.Value)
    
    Set B0 = Sheets("Veri").Columns(1).Find(CDate(ComboBox2.Text))
    Set B1 = Sheets("Veri").Columns(1).Find(CDate(ComboBox3.Text))

    Set M = Sheets("Veri").Rows(1).Find(ComboBox1.Text)
    ColLtr = Replace(Cells(1, M.Column).Address(True, False), "$1", "")
    
    Union(Range("a" & B0.Row & ":a" & B1.Row), Range(ColLtr & B0.Row & ":" & ColLtr & B1.Row)).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    Unload Me
End Sub

Private Sub UserForm_Initialize()
    ComboBox2.RowSource = Sheets("Veri").Range("a2:a500").Address
    ComboBox3.RowSource = Sheets("Veri").Range("a2:a500").Address
End Sub
 
Yardımlarınız için teşekkür ederim Hamitcan Bey, sorunum çözüldü
 
UserForm üzerine 2 adet ComboBox ekledim ayrıca aşağıdaki kodları da yeniledim. Şu halde DtPicker nesnelerini kullanmamalısınız.

Kod:
Private Sub ComboBox2_Change()
    ComboBox2 = Format(ComboBox2.Text, "dd/mm/yyyy")
End Sub

Private Sub ComboBox3_Change()
    ComboBox3 = Format(ComboBox3.Text, "dd/mm/yyyy")
End Sub


Private Sub UserForm_Initialize()
    ComboBox2.RowSource = Sheets("Veri").Range("a2:a500").Address
    ComboBox3.RowSource = Sheets("Veri").Range("a2:a500").Address
End Sub

Kod:
Private Sub ComboBox2_Change()
ComboBox2 = [COLOR=red][B]Format[/B][/color](ComboBox2.Text, "dd/mm/yyyy")
End Sub

Satırında ekteki hata mesajını veriyor.
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    15.5 KB · Görüntüleme: 4
Çok teşekkürler HamitCan
 
Geri
Üst