VBA: Worksheet_Change

10/10/2008 - 14:07 von thomas müller | Report spam
Hallo,

ich habe auf einem Tabelleblatt diverse Balkendiagramme. Einige davon
sollen geàndert werden. Ih habe das mit Worksheet_Change gemacht und den
Code auch auf den entsprechenden Blàttern eingebunden.

Dummerweise àndern sich aber nur max. 2 von 4 zu àndernden Diagrammen.
Weiß jemand woran das liegen kann? Gibt es bei Worksheet_Change
irgendeine Begrenzung, z.b. dass es nur 2 mal hintereinander ausgeführt
werden darf?

Hier ist mein Code :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim inReihe As Integer
Dim chDiagramm As Chart
Dim inPunkt As Integer
Dim arrWerte()
Set chDiagramm = Worksheets("Pivot V1a").ChartObjects("Diagramm
15").Chart
Application.ScreenUpdating = False
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihe)
arrWerte() = .Values
For inPunkt = 1 To .Points.Count
Select Case arrWerte(inPunkt)
Case Is <= 2.39
.Points(inPunkt).Interior.Color = RGB(5,
255, 100)
Case Is >= 2.4 <= 3.49
.Points(inPunkt).Interior.Color = RGB(235,
230, 0)
Case Is >= 3.5
.Points(inPunkt).Interior.Color = RGB(255, 0, 0)
End Select
Next inPunkt
End With
Next inReihe
End With
Application.ScreenUpdating = True
Set chDiagramm = Nothing

End Sub

Nàchste Diagramm auf dem gleichen Blatt dann so:

Private Sub Worksheet_Change1(ByVal Target As Range)
Dim inReihe As Integer
Dim chDiagramm As Chart
Dim inPunkt As Integer
Dim arrWerte()
Set chDiagramm = Worksheets("Pivot V1a").ChartObjects("Diagramm
18").Chart
Application.ScreenUpdating = False
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihe)
arrWerte() = .Values
For inPunkt = 1 To .Points.Count
Select Case arrWerte(inPunkt)
Case Is <= 2.39
.Points(inPunkt).Interior.Color = RGB(5,
255, 100)
Case Is >= 2.4 <= 3.49
.Points(inPunkt).Interior.Color = RGB(235,
230, 0)
Case Is >= 3.5
.Points(inPunkt).Interior.Color = RGB(255, 0, 0)
End Select
Next inPunkt
End With
Next inReihe
End With
Application.ScreenUpdating = True
Set chDiagramm = Nothing

End Sub


Und so weiter...Danke schon mal

thomas
 

Lesen sie die antworten

#1 Claus Busch
10/10/2008 - 16:16 | Warnen spam
Hallo Thomas,

Am Fri, 10 Oct 2008 14:07:52 +0200 schrieb thomas müller:

Dummerweise àndern sich aber nur max. 2 von 4 zu àndernden Diagrammen.
Weiß jemand woran das liegen kann? Gibt es bei Worksheet_Change
irgendeine Begrenzung, z.b. dass es nur 2 mal hintereinander ausgeführt
werden darf?



du kannst nicht einfach das Worksheet_Change-Ereignis durch Anhàngen
einer Zahl duplizieren. Der Code für *alle* Diagramme gehört in
Worksheet_Change. Wenn dir das zu unübersichtlich wird, mache für jedes
Diagramm eine extra Prozedur, z.B. Sub Diagr1(), Sub Diagr2 usw. und
rufe diese Prozeduren in Worksheet_Change auf.


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP3 / Vista Ultimate
Office 2003 SP3 / 2007 Ultimate SP1

Ähnliche fragen