ich habe eine ListBox in der verschiedene Namen stehen. Ich kann mehrere von dennen gleichzeitig markieren. Mit den markierten Namen soll folgendes passieren: Diese sollen nacheinander in einer Tabelle gefunden werden und die dazu gehörige Werte in ein gemeinsames Diagramm reingehen.
Teil-Probleme:
Wie lese ich die merkierten Name aus dem ListBox aus? Muss man es nacheinander machen oder werden diese alle aufeinmal ausgelesen? (Ich habe in foren Befehl ItemsSelected gefunden, der funktioniert bei mir jedoch nicht.)
Wie kann man den nachfolgenden Code umbauen für mehrere Kurven in einem Diagramm(falls mehr als nur ein Name ausgewählt wird)? Es muss dynamisch sein, da es ja nicht unbedingt immer drei Markierungen in der ListBox vorkommen.
Sub Diagramm_erstellen()
Dim rowMax, colMax, z, zR, i, j As Integer
Dim bezAdd As Range
Dim textInhVal, textInhXval As String
Dim NameS, NameCh As String
ActiveCell.Select
With Worksheets(1).Cells
Set bezAdd = .Find("Bezeichnung", LookIn:=xlValues)
End With
colMax = Range(bezAdd.Address).CurrentRegion.Columns.Count
z = bezAdd.Column + 1
textInhVal = "=("
For i = z To colMax Step 3
textInhVal = textInhVal & "Export!R1" & "C" & i
If i < colMax Then
textInhVal = textInhVal & ","
End If
Next i
textInhVal = textInhVal & ")"
textInhXval = "=("
zR = ActiveCell.Row HIER WIRD EIN NAME AUSGESUCHT. HIER MÜSSTE DYNAMISCHE KOMPONENTE REIN.
For i = z To colMax Step 3
textInhXval = textInhXval & "Export!R" & zR & "C" & i
If i < colMax Then
textInhXval = textInhXval & ","
End If
Next i
textInhXval = textInhXval & ")"
NameS = ActiveCell.Value
NameCh = ActiveCell.Offset(0, 1).Value
With Charts.Add
.ChartType = xlLineMarkers
.SeriesCollection(1).XValues = textInhVal
.SeriesCollection(1).Values = textInhXval
.SeriesCollection(1).Name = NameS
.HasTitle = True
.ChartTitle.Characters.Text = NameCh
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Läufe"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Stückzahlen"
.HasDataTable = True
.DataTable.ShowLegendKey = True
.Location Where:=xlLocationAsNewSheet
End With
Sheets("Export").Select
Application.ScreenUpdating = True
Danke für die Antwort.