AW: Per VBA Diagramm-Bezug ändern
28.06.2017 15:28:07
Beverly
Beachte, dass die Diagramme tatsächlich so heißen müssen wie du sie oben aufgelistet hast.
Option Explicit
Dim blnAusfuehren As Boolean
Dim lngLetzte As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If blnAusfuehren = False Then
If Not Intersect(Target, Columns(4).SpecialCells(xlCellTypeAllValidation)) Is Nothing _
Then
If Target "" Then DiaAktualisieren (Target.Value)
End If
End If
End Sub
Sub DiaAktualisieren(strTabelle As String)
Dim lngReihen As Long
Dim objChart As ChartObject
Dim strBereich As String
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 4)), Cells(Rows.Count, 4).End(xlUp).Row, Rows. _
Count)
For Each objChart In ActiveSheet.ChartObjects
Select Case objChart.Name
Case "FCD"
strBereich = "E8:E32"
Case "FDE"
strBereich = "I8:I32"
Case "Leistung"
strBereich = "G8:G32"
Case "Arbeitspunkt"
strBereich = "K8:K32"
End Select
With objChart.Chart
For lngReihen = .SeriesCollection.Count To 1 Step -1
.SeriesCollection(lngReihen).Delete
Next lngReihen
If strTabelle "keine Auswahl" Then
With .SeriesCollection.NewSeries
.XValues = Worksheets(strTabelle).Range("F8:F32")
.Values = Worksheets(strTabelle).Range(strBereich)
End With
End If
End With
Next objChart
End Sub