Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagrammfläche durch Makro zuweisen

Diagrammfläche durch Makro zuweisen
02.06.2004 16:40:29
Nadine
Hallo an alle Excel und VBA Experten!!!
Ich habe aus einer Tabelle ein Diagramm im gleichen Tabellenblatt erzeugt. Nun will ich Daten hinzufügen können, ohne das ich in der Tabelle den Diagrammbereich per Hand zuweisen muss. Das Makro soll erkennen das unter der Tabelle(Diagrammfläche) ein neuer Datensatz eingetragen wurde und diesen neuen Datensatz dann in das Diagramm übernehmen.
Bis jetzt habe ich folgendes Makro und komme irgendwie nicht weiter:

Sub Makro()
Dim lastJ As Long
lastJ = Sheets("Tabelle1").Cells(Rows.Count, 10).End(xlUp).Row
ActiveSheet.ChartObjects("Diagramm 3").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range
("A2:J" & lastJ), PlotBy _ :=xlColumns
End Sub

Wenn ich das Makro ausführen will, bekomme ich einen Laufzeitfehler ('1004' --> Die Methode 'Rows' für das Objekt'_Global' ist fehlgeschlagen).
Irgendwie klappt das nicht mit diesem "Rows.Count". Er kommt mit der Zeile "lastJ = Sheets("Tabelle1").Cells(Rows.Count, 10).End(xlUp).Row" nicht klar.Wäre schön, wenn jemand mir helfen könnte.
LG Nadine

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

Betreff
Datum
Anwender
Anzeige
AW: Diagrammfläche durch Makro zuweisen
02.06.2004 17:33:41
DieterB
Hallo Nadine,
vielleicht (!!) solltest Du das Diagramm vor der Ausführung
des Makros (oder am Anfang des Makros) löschen.
Oder so:
Dim i As Integer
ActiveSheet.ChartObjects.Delete
Set Dia = ActiveSheet.ChartObjects.Add _
(5, 165, 710, 1500)
Dia.Name = "Name"
i = ActiveSheet.Range("U2").End(xlDown).Row
Range("U1:W" & i).Copy
Hier wird der Datenbereich U1:W genutzt.
Gruß
DieterB
AW: Diagrammfläche durch Makro zuweisen
02.06.2004 20:35:09
Nadine
Hallo DieterB,
Danke für deinen Tipp! Aber wieso muss ich das Diagramm löschen um es wieder neu zu zeichnen? Das muss doch auch mit dem Anhängen einer Datenreihe klappen!?
Ich werde deinen Vorschlag auf jeden Fall ausprobieren!
Könnte es nicht mit "SeriesCollection" funktionieren? Weiß nur nicht wie man .Range("A14:J14") -wäre der erste neue Datensatz- allgemeiner fast. Die eigentliche Tabelle geht von A1:J13. Wie schafft man es das das Makro ab der Zeile 13 immer eine Zeile addiert, wenn man das Makro betätigt?

Sub Makro11()
Worksheets("Tabelle1").ChartObjects("Diagramm 21").Chart. _
SeriesCollection.Extend Worksheets("Tabelle1").Range("A14:J14") 'neue datenreihe
End Sub

Bin für jede Hilfe dankbar!!!
LG Nadine
Anzeige
AW: Diagrammfläche durch Makro zuweisen
02.06.2004 21:05:18
DieterB
Hallo Nadine,
indem die Spalte von unten (oder oben) durchsucht wird.
Dann Dia löschen und mit der zusätzlichen Zeile neu erstellen.
Gruß
DieterB
AW: Diagrammfläche durch Makro zuweisen
03.06.2004 08:07:39
Nadine
Hallo DieterB,
wie durchsuche ich denn die Spalte von oben nach unten? Ich habe wirklich keine Ahnung von VBA! Mit Rows.Count klappt es nicht, da bekomme ich immer einen Laufzeitfehler.
LG Nadine
AW: Diagrammfläche durch Makro zuweisen
Martin
Hallo Nadine,
versuch mal stattdessen
lastJ = Sheets("Tabelle1").Range("J65536").End(xlUp).Row
Gruß
Martin Beck

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige