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.)
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