Grafiklerde eksen tipini değiştirmek [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : Grafiklerde eksen tipini değiştirmek


yersoy
01-04-2008, 19:04
Excelde çizdirdiğimiz grafiklerin eksenlerinin tiplerini (logaritmik ya da lineer) ToggleButton yardımıyla nasıl değiştirebiliriz?

Bulduğum bir örnekte grafiğin sadece y-ekseninin tipi değişiyor. X-ekseni ise sabit kalıyor... Bunun için yazdığım kod:

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = False Then
ToggleButton1.Caption = "Log-scale"
ActiveSheet.ChartObjects("Grafik 1").Activate
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.ScaleType = xlScaleLogarithmic
End With
Else
ToggleButton1.Caption = "linear-scale"
ActiveSheet.ChartObjects("Grafik 1").Activate
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.ScaleType = xlLinear
End With
End If
End Sub

şeklindeydi. Ancak dediğim gibi, sadeece y-eksenini kontrol ediyor...

Selamlar...

Ferhat Pazarçevirdi
01-04-2008, 21:51
Gerçi, siz kullandığınız grafik türünü belirtmemişsiniz ama, ekteki örnekte xy dağılım grafiği üzerinden gidilmiştir. X eksenini, logaritmik veya lineer göstermek için ToogleButton'a aşağıdaki kodlar yerleştirildi.

Private Sub ToggleButton1_Click()
Dim grf As ChartObject
Set grf = ActiveSheet.ChartObjects("Grafik 2")
If ToggleButton1.Value = False Then
ToggleButton1.Caption = "Log-scale"
grf.Chart.Axes(xlCategory).ScaleType = xlLogarithmic
Else
ToggleButton1.Caption = "linear-scale"
grf.Chart.Axes(xlCategory).ScaleType = xlLinear
End If
Set grf = Nothing
End Sub

yersoy
01-04-2008, 22:42
Öncelikle çok teşekkür ederim...
Ben sorumu yeterince açık yazamamışım sanırım.
Elimdeki grafik x-y dağılım grafiği. Ve her iki eksenin de aynı anda log/lin olarak togglebutton yardımıyla değişmesini istiyorum. Verdiğiniz örnekte de bu sefer sadece x-ekseni değişiyor :) Ben de bir taraftan kod üzerinde çalışacağım. Becerebilir miyim bilmiyorum tabi :)

Saygılar...

yersoy
01-04-2008, 22:47
Verdiğiniz kodlar ile diğerini birleştirince sorun halloldu.
Çok teşekkürler...

yersoy
01-04-2008, 23:16
Tekrar merhabalar...
Yeni bir problemimiz ortaya çıktı!

Sayfayı güvenlik için kitlediğim zaman kodlar çalışmıyor! Ancak kili kaldırınca hiç bir problem yok... Bunu nasl aşabiliriz?

Ferhat Pazarçevirdi
01-04-2008, 23:24
Tekrar merhabalar...
Yeni bir problemimiz ortaya çıktı!

Sayfayı güvenlik için kitlediğim zaman kodlar çalışmıyor! Ancak kili kaldırınca hiç bir problem yok... Bunu nasl aşabiliriz?

Allah bundan başka dert vermesin yeter ki :)

Kodların ilk satırına Activesheet.UnProtect, son satırına da Activesheet.Protect yazın. (Sayfa Koruma Şifresi varsa; bu komutların sonlarına tırnak işareti içerisinde yazın. Yani ... Unprotect "1234" gibi ...)

yersoy
02-04-2008, 09:37
Ne diyeyim teşekkür edelim öyleyse :)

Peki grafikte, log eksenleri seçtiğimizde eksenlerin kesişme yerleri otomatik olarak en küçük değerlerde nasıl düzenlenir? ne gibi bir kod gerekir? Toggle ile Lineer eksenleri seçtiğimizde sorun olmuyor ama log eksenlere geçince, kesişme yerleri otomatik olarak 1 kabul edildiği için grafik + işareti gibi oluyor :) Yani eksenler birbirlerini en küçük değerlerinde kesmiyorlar. Bunun için bir öneriniz varmı?

Saygılar...

yersoy
04-05-2008, 17:53
Arkadaşlar,
Excelde çizdiilen bir grafik nesnesini resim dosyası şeklinde export ettirmek için bir kod yazılabilir mi???
Şimdiden teşekkürler...


Özel Arama