Userform Grafik

Katılım
3 Şubat 2009
Mesajlar
4
Excel Vers. ve Dili
excel 2016 türkçe
Merhabalar,

Userform'da grafiği getirebiliyorum. Ancak, bazı sıkıntılarım var.

1. Combobox1'den secili olan kolonu degil sayfadaki tüm veriyi grafikliyor.
2. İstasyon kodlarını x eksenine getirmek istiyorum kabul etmiyor.

bir türlü bunları beceremedim.

(dosyayı buraya eklemeye calistim ancak dosyta ekleme yerini göremedim.)

Kod:
Private Sub cmdLoad_Click()

If ComboBox1.Text = "Select a chart" Then
    
    MsgBox "Select a chart from the dropdown list"
    Exit Sub
End If
    

Dim Mychart As Chart
Dim ChartData As Range
Dim chartIndex, jj As Integer
Dim chartname As String

'En Son Hücre sayisi bulma
jj = Worksheets("Sayfa2").Range("A1").CurrentRegion.Rows.Count

chartIndex = ComboBox1.ListIndex

If chartIndex = 0 Then
     
    Set ChartData = ActiveSheet.Range(Cells(2, 2), Cells(2, jj))
        chartname = ("B1")
        
ElseIf chartIndex = 1 Then

    Set ChartData = ActiveSheet.Range(Cells(3, 2), Cells(3, jj))
        chartname = ("C1")

ElseIf chartIndex = 2 Then

    Set ChartData = ActiveSheet.Range(Cells(4, 2), Cells(4, jj))

ElseIf chartIndex = 3 Then

    Set ChartData = ActiveSheet.Range(Cells(5, 2), Cells(5, jj))
        chartname = ("D1")


ElseIf chartIndex = 4 Then

    Set ChartData = ActiveSheet.Range(Cells(6, 2), Cells(6, jj))
        chartname = ("E1")


ElseIf chartIndex = 5 Then

    Set ChartData = ActiveSheet.Range(Cells(7, 2), Cells(7, jj))
        chartname = ("G1")


ElseIf chartIndex = 6 Then

    Set ChartData = ActiveSheet.Range(Cells(8, 2), Cells(8, jj))
        chartname = ("H1")


ElseIf chartIndex = 7 Then

    Set ChartData = ActiveSheet.Range(Cells(9, 2), Cells(9, jj))
        chartname = ("I1")
Else
MsgBox "Aralık Olmadı"
End If


Application.ScreenUpdating = False

Set Mychart = ActiveSheet.Shapes.AddChart(xlXYScatterLines).Chart

    Mychart.SeriesCollection.NewSeries
    Mychart.SeriesCollection(1).Name = chartname
    Mychart.SeriesCollection(1).Values = ChartData
    Mychart.SeriesCollection(1).XValues = ActiveSheet.Range("A2:A25")
    

Dim imageName As String
    imageName = Application.DefaultFilePath & Application.PathSeparator & "TempChart.gif"
    Mychart.Export Filename:=imageName
    
    ActiveSheet.ChartObjects(1).Delete
    Application.ScreenUpdating = True
    UserForm1.Image1.Picture = LoadPicture(imageName)
      

End Sub
 
Üst