Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1436to1440
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

Diagramm erzeugen mit variablem Ende der Datenreih

Diagramm erzeugen mit variablem Ende der Datenreih
30.07.2015 13:55:42
Fabian
Hallihallo,
habe vor kurzem frisch gestartet mit der VBA-Programmierung und stehe nun vor einem Syntax-Problem:
Ich möchte gern im Laufe meines Programms ein Diagramm erstellen, aus einer Datenreihe werden die x-Werte entnommen (hier: Spalte A), aus einer anderen Datenreihe die Y-Werte (hier Spalte E). Mittels Makro habe ich mir angeschaut, wie der Code dafür ungefähr aussehen müsste:
Range("A2:A36,E2:E36").Select
Range("E2").Activate
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Range( _ "Tabelle1!$A$2:$A$36;Tabelle1!$E$2:$E$36")
Nun möchte ich in der ersten und letzten Zeile gern das Ende der Bereiche modifizieren. Die Datenreihen gehen nämlich nicht immer bis zur Zeile 36, sondern in meinem Fall bis zur Zeile j (der Wert wird vorher im Programm ermittelt). Zusatzfragen: Wenn die Datenreihen bis zur Zeile j-1 gehen sollen, kann man dann das einfach so einsetzen? Was macht Range("E2").Activate?
Ich hoffe, ihr könnt mir helfen!
Liebe Grüße
Fabian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm erzeugen mit variablem Ende der Datenreih
30.07.2015 15:23:57
Beverly
Hi Fabian,
der Makrorekoder zeichnet JEDEN Schritt auf und vor dem Erstellen des Diagramms wurde eben Zelle E2 aktiviert.
So könnte der Code aussehen:
Sub DiaErstellen()
Dim lngLetzte As Long
' letzte belegte Zeile in Spalte A ermitteln
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, _
Rows.Count)
With ActiveSheet.Shapes.AddChart(0, 0, 0, 0).Chart
.ChartType = xlLine
With .SeriesCollection.NewSeries
.XValues = Range(Cells(2, 1), Cells(lngLetzte, 1))
.Values = Range(Cells(2, 5), Cells(lngLetzte, 5))
End With
With .Parent
.Top = 0
.Left = 0
.Width = 450
.Height = 250
End With
End With
End Sub



Anzeige
AW: Diagramm erzeugen mit variablem Ende der Datenreih
31.07.2015 11:51:00
Fabian
Hallo Karin,
danke für die schnelle Antwort :)
Es klappt alles soweit, außer wenn ich "IngLetzte" durch meine eigene Variable ersetze.
Ich habe den Zeilenindex der ersten freien Zelle so ermittelt:

Do While Test = False
If IsEmpty(Cells(j, 2).Value) = True Then
Exit Do
Else
j = j + 1
End If
Loop

Das Erstellen des Diagramms erfolgt dann im selben Sub, vorher wird noch j = j - 1 gerechnet.
Fehlermeldung: Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler. Beim Debuggen landet er dann als erstes in der Zeile ".XValues...".
Was sind das für Werte, die unter ".Parent" für Top, Left etc. eingegeben werden? Sind das feste Größen für das Diagramm? Wenn ja, kann ich die auch in Abhängigkeit von den x- und y-Werten setzen (damit dass Diagramm nie zu groß oder zu klein ist)?

Anzeige
AW: Diagramm erzeugen mit variablem Ende der Datenreih
31.07.2015 12:04:41
Fabian
Ich habe bemerkt, dass mein Beispiel etwas kurz ausgefallen ist.
Hier mal ein ausführlicheres Minimalbeispiel:

Sub Prognose()
j As Long, Test As Boolean
j = 2 'Ist den Eintragungen in der Tabelle geschuldet
Do While Test = False
If IsEmpty(Cells(j, 1).Value) = True Then
Exit Do
Else
j = j + 1
End If
Loop

AW: Diagramm erzeugen mit variablem Ende der Datenreih
31.07.2015 13:09:28
Beverly
Hi,
also bei mir ist lngLetzte (nicht IngLetzte!) die letzte belegte Zeile in Spalte A und damit gibt es in meinem Code keinen Fehler. Ich nehme deshalb an, dass du kein 'Option Expplicit' verwendest und deshalb nicht "angemeckert" wird, dass deine Variable nicht definiert/dimensioniert ist, nicht belegt wird und somit 0 bzw. leer ist.
Die Angaben unter .Parent sind - wie du richtig geschlussfolgert hast - die Positions- und Größenangaben für das Diagrammobjekt.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige