Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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
Inhaltsverzeichnis

leere Datenreihen

leere Datenreihen
21.06.2017 15:22:04
Moni
Hallo zusammen, ich bin neu hier im Forum und noch im VBA-Anfangsstadium.
Ich sollte ein dynamisches Diagramm programmieren, bis zur letzten ausgefüllten Spalte und Zeile, da sich diese je nach Messeinstellungen verändern. So wei so gut. ABER komischerweise werden die ganze Zeit leere Datenreihen mit in das Diagramm gezogen und ich verstehe nicht wieso.
Kann es sein dass ich beim einfügen der Daten in Excel schon einen Fehler mache? Also ich muss die Messdaten über den Textkonvertierungs-Assistenten konvertieren und einfügen....
Ich kann mir nicht vorstellen, dass es am VBA code liegt (sorry mein Code ist total auskommentiert):
------------------------------------------------------------------
Sub DynamischesDiagramm()
'Beinhaltet den Code, welcher die Erweiterung des Diagramms
'um eine hinzugefügte Spalte zulässt.
Dim lastRow As Long, lastColumn As Long
Dim i As Integer, n As Integer
'Wählt Tabelle1 aus
Sheets("Tabelle1").Select
'Speichert in die Long-Variable lastRow die letzte ausgefüllt Zeile
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'Speichert in die Long-Variable lastColumn die letzte ausgefüllte Spalte
lastColumn = ActiveSheet.Cells(lastRow, Columns.Count).End(xlToLeft).Column
'Fügt ein Diagramm hinzu
Charts.Add
'Wählt im aktiven, vorher gewählten Diagramm den Diagrammtyp
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
'With ersetzt dass man vor ActiveCharts immer Sheets("Tabelle1"). schreiben muss
With Sheets("Tabelle1")
'Zählt von i = der letzten Spalte bis zur 2. in Schritten von 2 nach links
For i = 2 To lastColumn Step 2
'Zähler
n = n + 1
'Fügt eine neue Datenreihe hinzu...
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(n).Name = n
'...mit diesen X-Werten...
ActiveChart.SeriesCollection(n).XValues = Range(.Cells(7, 1), .Cells(lastRow, 1))
'...und diesen Y-Werten.
ActiveChart.SeriesCollection(n).Values = Range(.Cells(7, i), .Cells(lastRow, i))
Next i
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
Selection.Caption = "Potential in V vs."
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleRotated)
Selection.Caption = "Current in µA"
End With
End Sub
-----------------------------------------------------------------------------------
Vielen Dank schonmal für eure liebe Hilfe!
Moni

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
For i = 2 To lastColumn Step 2 ?
21.06.2017 15:55:03
Matthias
Hallo
Vermutlich muss Deine Schleife so sein.
Ungetestet!
Statt
For i = 2 To lastColumn Step 2
so:
For i = lastColumn to 2 Step -2
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige