AW: Min-, Max-Werte einer X-Achse anpassen
10.11.2012 19:50:15
Golem
Hallo Karin,
nach einigen Versuchen habe ich den Code hinbekommen.
Hier der Code:
Option Explicit
Private Sub SpinButton1_Change()
Range("U5") = SpinButton1
End Sub
Private Sub SpinButton2_Change()
Range("I5") = SpinButton2
End Sub
'Ereigniszellen für Min-, Max-Scale
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$5" Or Target.Address = "$U$5" Then
Call SetXMinMaxScale
End If
End Sub
'Wertezellen für Min-, Max-Scale
Sub SetXMinMaxScale()
With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory)
.MinimumScale = ActiveSheet.Range("AW4").Value
.MaximumScale = ActiveSheet.Range("AW5").Value
End With
End Sub
Der Code funktioniert einwandfrei.
Ich überwache die Zellen I5 und U5 der SpinnButtons.
Ich habe noch eine Frage zu meinen Schiebebalken.
So funktioniert der gesamte Code:
Option Explicit
Private Sub SpinButton1_Change()
Range("U5") = SpinButton1
End Sub
Private Sub SpinButton2_Change()
Range("I5") = SpinButton2
End Sub
'Ereigniszellen für Min-, Max-Scale
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$5" Or Target.Address = "$U$5" Then
Call SetXMinMaxScale
End If
End Sub
'Wertezellen für Min-, Max-Scale
Sub SetXMinMaxScale()
With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory)
.MinimumScale = ActiveSheet.Range("AW4").Value
.MaximumScale = ActiveSheet.Range("AW5").Value
End With
End Sub
Private Sub ScrollBar1_Change()
Range("AU21") = ScrollBar1
End Sub
Private Sub ScrollBar2_Change()
Range("AP9") = ScrollBar2
End Sub
Private Sub Worksheet_Calculate()
ScrollBar1.Min = IIf(Range("AU15") > 0, Range("AU15"), ScrollBar1.Max)
ScrollBar1.Max = IIf(Range("AU19") > 0, Range("AU19"), ScrollBar1.Min)
ScrollBar2.Min = IIf(Range("AJ9") > 0, Range("AJ9"), ScrollBar2.Max)
ScrollBar2.Max = IIf(Range("AM9") > 0, Range("AM9"), ScrollBar2.Min)
End Sub
Kann auch für beide Schiebebalken Change verwendet werden?
Ich überwache die Zellen AP9 und AU21.
Beispiel:
Option Explicit
Private Sub SpinButton1_Change()
Range("U5") = SpinButton1
End Sub
Private Sub SpinButton2_Change()
Range("I5") = SpinButton2
End Sub
'Ereigniszellen für Min-, Max-Scale
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$5" Or Target.Address = "$U$5" Then
Call SetXMinMaxScale
End If
End Sub
'Wertezellen für Min-, Max-Scale
Sub SetXMinMaxScale()
With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory)
.MinimumScale = ActiveSheet.Range("AW4").Value
.MaximumScale = ActiveSheet.Range("AW5").Value
End With
End Sub
Private Sub ScrollBar1_Change()
Range("AU21") = ScrollBar1
End Sub
'Ereigniszellen für Min-, Max-ScrollBar1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AU$21" Then
Call SetMinMax
End If
End Sub
'Wertezellen für Min-, Max-ScrollBar1
Sub SetMinMax()
With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory)
.Minimum = ActiveSheet.Range("AU15").Value
.Maximum = ActiveSheet.Range("AU19").Value
End With
End Sub
Private Sub ScrollBar2_Change()
Range("AP9") = ScrollBar2
End Sub
'Ereigniszellen für Min-, Max-ScrollBar2
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AP$9" Then
Call SetMinMax
End If
End Sub
'Wertezellen für Min-, Max-ScrollBar2
Sub SetMinMax()
With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory)
.Minimum = ActiveSheet.Range("AJ9").Value
.Maximum = ActiveSheet.Range("AM99").Value
End With
End Sub
Aber mit diesen Code gibt es Probleme wegen mehrmals Change.
Für Deine bisherigen Bemühen einen schönen Dank!
Schöne Grüße Golem