Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
xy-Diagramm mit variablen Daten fülllen VBA
10.03.2017 10:11:04
Thomas
Hallo zusammen,
folgende Problemstellung, siehe Excel Datei
https://www.herber.de/bbs/user/112078.xlsm
Ich habe eine Tabelle mit maximal 5 Tests mit jeweils 3 Kenndaten. Daher muss ich maximal 15 xy-Diagramme in einem neuen Tabellenreiter erstellen.
ActiveChart.FullSeriesCollection(1).Name = Sheets(1).Cells(1, 2)
Die einfache Namenzuweisung für ein Exemplar funktioniert.
Die Probleme treten bei der Programmierung der Schleife auf. Ich habe es bisher nur händisch hinbekommen. Die Anzahl der Test kann zwischen 1 und 5 variieren. Die daraus resultierenden Messwerte sind in der Länge unbekannt.
Meine Frage. Wie kann ich eine Schleife programmieren, die obengenannte Faktoren berücksichtigt.
ActiveChart.FullSeriesCollection(1).Values = _
"=Tabelle1!$B$2,Tabelle1!$B$7,Tabelle1!$B$12,Tabelle1!$B$17"
Vielen Dank für die Hilfe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xy-Diagramm mit variablen Daten fülllen VBA
10.03.2017 10:24:55
Beverly
Hi Thomas,
sollen die Diagramme erst erstellt werden oder sind sie in deiner Originaldatei bereits alle vorhanden? Soll für jede Spalte ein eigenes Diagramm gelten oder 3 Spalten im selben Diagramm dargestellt werden?


AW: xy-Diagramm mit variablen Daten fülllen VBA
10.03.2017 10:46:18
Thomas
Hallo Beverly,
die Diagramme müssen alle erst erstellt werden. Die Originaldatei hat nur die Messwerte.
Für jede Spalte soll ein eigenes Diagramm gelten.
z.B. Test 1 mit x
oder
Test 3 mit z
VBA: xy-Diagramme erstellen und Daten zuweisen
10.03.2017 10:54:18
Beverly
Hi Thomas,
sollen jeweils 3 Diagramme in ein gemeinsmes Tabellenblatt - also für Test1 je ein Diagramm pro Spalte B, C und D? Oder soll für jedes Diagramm ein eigenes Tabellenblatt erstellt werden oder sollen alle Diagramm in ein gemeinsames Tabellenblatt?


Anzeige
AW: VBA: xy-Diagramme erstellen und Daten zuweisen
10.03.2017 11:43:55
Thomas
Hey,
jetzt hab ich dich verstanden. Es sollen alle maximal 15 Diagramme in ein einziges Tabelleblatt
AW: VBA: xy-Diagramme erstellen und Daten zuweisen
10.03.2017 14:05:12
Beverly
Hi,
Sub Test()
Dim chrDia As ChartObject
Dim rngBereich1 As Range
Dim lngZeile As Long
Dim lngZaehler As Long
Dim lngDias As Long
Dim lngTop As Long
Dim intDia As Integer
Dim intLeft As Integer
Dim wksTab As Worksheet
Dim wksNeu As Worksheet
Set wksTab = Worksheets("Tabelle1")
lngZaehler = 2
lngTop = 3
intLeft = 1
Application.ScreenUpdating = False
Sheets.Add After:=Worksheets(Worksheets.Count)
Set wksNeu = Worksheets(Worksheets.Count)
For lngDias = 1 To 5
With wksTab
For intDia = 1 To 3
For lngZeile = lngZaehler To 21 Step 5
If rngBereich1 Is Nothing Then
Set rngBereich1 = .Range(.Cells(lngZeile, intDia + 1), .Cells(lngZeile,  _
intDia + 1))
Else
Set rngBereich1 = Union(rngBereich1, .Range(.Cells(lngZeile, intDia + 1) _
, .Cells(lngZeile, intDia + 1)))
End If
Next lngZeile
With Worksheets(Worksheets.Count).Shapes.AddChart2(332, xlLineMarkers).Chart
.Parent.Left = wksNeu.Columns(intLeft).Left
.Parent.Top = ActiveSheet.Cells(lngTop, 1).Top
.Parent.Height = wksNeu.Range(wksNeu.Cells(lngTop, 1), wksNeu.Cells(lngTop + _
16, 1)).Height
With .SeriesCollection.NewSeries
.Name = wksTab.Cells(1, intDia + 1)
.Values = rngBereich1
End With
intLeft = intLeft + 6
End With
Set rngBereich1 = Nothing
Next intDia
End With
lngTop = lngTop + 17
intLeft = 1
lngZaehler = lngZaehler + 1
Next lngDias
For Each chrDia In wksNeu.ChartObjects
With chrDia.Chart
.Axes(xlValue).HasTitle = True
.Axes(xlCategory).HasTitle = True
With .Axes(xlValue).AxisTitle.Format.TextFrame2.TextRange.Characters(1, 3)
With .ParagraphFormat
.TextDirection = msoTextDirectionLeftToRight
.Alignment = msoAlignCenter
End With
With .Font
.BaselineOffset = 0
.Bold = msoFalse
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(89, 89, 89)
.Fill.Transparency = 0
.Fill.Solid
.Size = 10
.Italic = msoFalse
.Kerning = 12
.Name = "+mn-lt"
.UnderlineStyle = msoNoUnderline
.Strike = msoNoStrike
End With
End With
With .Axes(xlCategory).AxisTitle.Format.TextFrame2.TextRange.Characters(1, 4)
With .ParagraphFormat
.TextDirection = msoTextDirectionLeftToRight
.Alignment = msoAlignCenter
End With
With .Font
.BaselineOffset = 0
.Bold = msoFalse
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(89, 89, 89)
.Fill.Transparency = 0
.Fill.Solid
.Size = 10
.Italic = msoFalse
.Kerning = 12
.Name = "+mn-lt"
.UnderlineStyle = msoNoUnderline
.Strike = msoNoStrike
End With
End With
End With
Next chrDia
Application.ScreenUpdating = True
Set wksTab = Nothing
Set wksNeu = Nothing
End Sub


Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige