Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dynamisches diagramm jeden monat

dynamisches diagramm jeden monat
29.09.2008 15:30:00
Peter
hallöchen zusammen,
hab da mal wieder ein Problem, wo ich die die Lösung hier nicht finden kann.
Vielleicht denke ich aber auch nur zu kompliziert.
Folgendes Problem:
Es gibt eine Arbeitsmappe mit am Anfang nur einem Sheet.
Auf diesem Sheet gibt es nur zwei Zeilen: Zeile 1 Datum und Zeile 2 eine Zahl.
Nun möchte ich aufgrund des Datums (erstes Datum in b1, letztes Datum je nach Monat) in Zeile 1 monatsweise ein Diagramm erstellen. Problem dabei: Das Datum ist fortlaufend. Und natürlich soll ein bereits vorhandenes Diagramm höchstens aktualisiert aber nicht neu erstellt werden. Wie bekomme ich das in VBA hin jetzt die Bereiche zu deklarieren und gleichzeitig zu prüfen, ob ein Diagramm für diesen monat schon angelegt ist?
Hoffe es ist nicht zu verwirrend und es kann mir jemand helfen.
Habe zwar schon viele Ansätze gefunden, aber ich bekomme die Einzelteile nicht richtig zusammen.
Gruß
Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamisches diagramm jeden monat
29.09.2008 16:41:00
Beverly
Hi Peter,
ich kenne zwar deine Aufgabenstellung nich, aber wäre es nicht besser, alle Daten in einem gemeinsamen Diagramm darzustellen? So lassen sich die Daten wesentlich besser miteinander vergleichen.
Wie man ein Diagramm per VBA dynamisch gestalten kann, dazu findest du auf meiner HP, Seite "Diagramme m. VBA" u.a. dieses Beispiel
Dynamischer Datenbereich
Vielleicht hilft es dir ja als Ansatz.
Wenn du doch mehrere Diagramme verwenden willst, dann kannst du mit dem Diagrammnamen arbeiten. Aus deinem Beitrag geht leider nicht hervor, ob es sich um Diagrammblätter oder in ein Tabellenblatt eingebettete Diagrammobjekte handelt. Beim Erstellen eines Diagramms kannst du ja einen Namen zuweisen (z.B. den Monat). In einer Schleife läufst du dann über alle Diagramme und prüfst, ob ein Diagramm mit dem entsprechenden Namen bereits vorhanden ist. Die Verfahrensweise unterscheidet sich aber, je nachdem ob Diagrammblatt oder Diagrammobjekt.


Anzeige
AW: dynamisches diagramm jeden monat
29.09.2008 16:55:00
Peter
Hallo Beverly,
vielen Dank für Deine Antwort.
Ist leider nicht ganz einfach zu beschreiben.
Also alle auf ein Diagramm soll ja noch zusätzlich geschehen.
Aber zwecks der besseren Übersicht (da Tageszahlen!) soll auch noch ein monatliches Diagramm in jeweils einem extra Tabellenblatt erstellt werden.
Das eigentliche Problem dabei ist, wie bekomme ich VBA dazu, dass er mir den letzten eines Monats herausfiltert. Formel dazu habe ich zwar, aber er gibt mir als Antwort bei searchcell immer Nothing. In einem anderen Makro funktioniert diese Funktion aber.
Als Code habe ich bisher nur:
Sub Diagramm()
Dim Datum1 As Date
Dim Datum2 As Date
Dim Searchcell As Range
Datum1 = Cells(1, 2).Value
Datum1 = Format(Datum1, "DD.MM.YYYY")
MsgBox Datum1
Datum2 = CDate(DateSerial(Year(Datum1), Month(Datum1) + 1, 0))
Datum2 = Format(Datum2, "DD.MM.YYYY")
MsgBox Datum2
Set Searchcell = ActiveSheet.Range("A1:iv10").Find(CDate(Datum2), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Searchcell Is Nothing Then
'If Not (f Is Nothing) Then
'f.Activate
MsgBox "Datum nicht gefunden!", vbCritical, "Ende der Verarbeitung"
Else
...
Mag vielleicht auch noch umständlich sein, aber ich bin ja noch am schneidern! :-)
Hab mal ne Beispieldatei hochgeladen.
Gruß
Peter

Die Datei https://www.herber.de/bbs/user/55721.xls wurde aus Datenschutzgründen gelöscht


Anzeige
AW: dynamisches diagramm jeden monat
30.09.2008 07:23:00
Beverly
Hi Peter,
weshalb suchst du das Datum in A1:IV10? Das Datum kommt doch nur in Zeile 1 vor.

Sub datum_finden()
Dim inSpalte As Integer
On Error Resume Next
inSpalte = Application.Match(CDbl(CDate(DateSerial(Year(Cells(1, 2)), Month(Cells(1, 2)) + 1, _
0))), Rows(1), 0)
If Err  0 Then
MsgBox "Datum nicht gefunden!", vbCritical, "Ende der Verarbeitung"
Else
MsgBox "Datum in Zelle " & Cells(1, inSpalte).Address
End If
On Error GoTo 0
Err.Clear
End Sub


Ich würde aber die Tabelle anders aufbauen, da es ja nur 255 Spalten gibt - also Datum in Spalte A fortlaufend und die Werte in Spalte B fortlaufend. In diesem fall müsste der Code so lauten:


Sub datum_finden()
Dim loZeile As Long
On Error Resume Next
loZeile = Application.Match(CDbl(CDate(DateSerial(Year(Cells(2, 1)), Month(Cells(2, 1)) + 1,  _
0))), Columns(1), 0)
If Err  0 Then
MsgBox "Datum nicht gefunden!", vbCritical, "Ende der Verarbeitung"
Else
MsgBox "Datum in Zelle " & Cells(loZeile, 1).Address
End If
On Error GoTo 0
Err.Clear
End Sub




Anzeige
AW: dynamisches diagramm jeden monat
29.09.2008 19:40:00
Andre´
Hallo Peter,
habe Deine Zeilenwerte transponiert und mit Pivot ein Chart erstellt, wo du dann den Monat ändern kannst.
vielleicht hilft Dir dies weiter https://www.herber.de/bbs/user/55726.xls
MFG Andre
AW: dynamisches diagramm jeden monat
29.09.2008 23:38:00
Daniel
Hi
mein Lösungsansatz:
- erstelle ein x-y-Diagramm für den gesamten Datenbereich (Spalte 1 bis Spalte 256)
- schreibe dir ein kleines Makro, in dem du den anzuzeigenden Monat auswählst und das Makro passt die MIN- und MAX-Werte der X-Achse entsprechend an.
das ist meiner Ansicht nach der einfachste Weg, vorallem da für den ganzen Zeitraum nur 1 Diagramm benötigt wird und nicht 12 verschiedene:
https://www.herber.de/bbs/user/55728.xls
Gruß, Daniel
Anzeige
AW: dynamisches diagramm jeden monat
30.09.2008 11:12:11
Peter
Hallöchen zusammen,
vielen Dank für Eure Lösungsansätze.
Leider ist es nicht ganz so einfach zu bewerkstelligen, wobei die Idee mit den Pivotcharts schon nicht schlecht ist.
Allerdings lässt sich diese Möglichkeit nicht für den kompletten Zeitraum als Diagramm verwenden, da ansonsten die Zeitachse nicht formatiert werden kann, und somit jedes DAtum drinsteht und nochmals somit kein Datum mehr lesbar ist. Für einzelne Monat SUPER!
Das Makro für das Diagramm ist schon auch nicht schlecht. Allerdings sollte schon für jeden Monat ein einzelnes Diagramm vorhanden sein.
Hatte wohl auch vergessen zu schreiben, dass die Zahlen aus einem anderen Makro heraus Tag für Tag erst importiert werden. Werd wohl doch die umständliche Variante nehmen und für jeden Monat ein einzelnes Tabellenblatt plus Diagrammblatt benutzen.
Trotzdem lasse ich die Frage noch offen, falls jemand doch noch eine andere Lösung für mich hat.
Zudem muß auch jemand damit umgehen können, der nicht viel von Excel versteht. Ich bin nur die erstellende Kraft! :-)
Gruß und Danke nochmal
Peter
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige