Dinamik Grafik Hk.

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

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
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
 
Katılım
18 Temmuz 2013
Mesajlar
42
Excel Vers. ve Dili
2013
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
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
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.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
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
 
Katılım
18 Temmuz 2013
Mesajlar
42
Excel Vers. ve Dili
2013
Yardımlarınız için teşekkür ederim Hamitcan Bey, sorunum çözüldü
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
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

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Çok teşekkürler HamitCan
 
Üst