Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortsetzung Linienfarbe ändern Diagramm

Fortsetzung Linienfarbe ändern Diagramm
22.07.2008 19:40:00
oblivion
Sorry dass ich einen neuen beitrag aufmache, aber bei dem anderen kommt immer ne fehlermeldung, wenn ich auf vorschau drücke.
hallo, bei mir funtioniert es jetzt auch, lag daran dass ich Tabelle14 in Auswertung umbenannt hatte und es in der Formel nicht so benannt hatte.
aber ich habe trotzdem noch ein problem. wenn ich jetzt einen bewohner habe, bei dem eine linie in einem gewissen zeitraum grün erscheint und die linie nach oben geht so wie es sein soll und ich jetzt auf einen anderen bewohner umschalte sollte sich ja die farbe selber ändern, wenn im gleichen zeitraum bei dem bewohner die linie nach unten geht und rot angezeigt werden müsste. wird aber nicht gemacht, sondern sie über nimmt die formatierung vom vorhergehenden bew. ich habe erst gedacht es liegt an der sperrung des tabellenblattes, welchen ich über extras -- schutz aktiviert hatte. deswegen habe ich wie in der anderen formel die kommandos zum sperren und entsperren eingegeben. kannst du mir weiterhelfen. bei bedarf stelle ich die datei auch nochmal online.
liegt es vielleicht daran, dass es zwei makros gibt und immer nur eins permanent ausgeführt wird. gibt es vielleicht die möglichkeit, den zweiten makro in den ersten zu integrieren? gruß oblivion

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
22.07.2008 20:04:29
Beverly
Hi,
ist es die Fortsetzung von unserem Thread?
Damit sich der Wert automatisch ändert, musst du das Worksheet_Change Ereignis verwenden. Sobald ein Wert im Bereich deiner Datenreihe gändert wird, muss das Makro erneut ausgeführt werden.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As Chart
Dim inPunkt As Integer
If Intersect(Target, Range("B3:B14")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(1)
For inPunkt = 2 To .Points.Count
With .Points(inPunkt).Border
If Worksheets("Tabelle1").Cells(inPunkt + 2, 2) 




Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
22.07.2008 20:58:00
oblivion
hallo, ich komme irgendwie nicht so ganz klar mit dem code. wenn ich ihn so wie er oben steht in ein leeres makro kopiere und noch die Tabelle1 in klammern in Auswertung um ändere, dann auf speichern und beenden klicke, will ich im blatt auswertung den makro nochmals aufrufen und ausführen, jedoch erscheint da nur mein anderer makro. also hab ich mir den anderen angeschaut und den obenstehenden soweit ergänzt das noch was am ende steht, das der name angezeigt wird und ich ihn über extra - makro aufrufen kann. wenn ich den jedoch neu starten will, passiert garnichts im diagramm. mit dem ersten von dir hat es wenigstens geklappt, dass, wenn ich das makro neu gestartet habe über extra - makro, dann hat sich auch das diagramm so gändert wie es sein soll. ich lade mal meine datei hoch, mit dem makro den ich zur zeit so drinne habe.
will nur noch schnell erklären was ich mir vorstelle, wie es wenns möglich ist funktionieren soll. ich habe ja in spalte A und B eine kleine tabelle. spalte A sind monate aufgeführt und spalte B gewichte. über geichte habe ich per Listenfunktion die möglichkeit bestimmte personen abzurufen. die personen beziehen sich auf das tabellenlatt gesamt. das diagramm zeigt mir den verlauf der gewichte in bezug auf die monate zu den personen die ich oben auswählen kann. hab als beispiel 3 personen von januar bis dezember mit fiktiven gewichten versehen.
so ich würde gerne folgendes. mit deiner formel war es ja schon möglich das auf und ab der gewichte im diagramm farblich unterschiedlich mit rot und grün darzustellen. wenn ich jetzt aber in zeile B1 den namen der person ändere wird zwar die entsprechende kurve für die neue person angezeigt aber die farbe ändert sich nicht entsprechend. soll heißen, was eigentlich jetzt grün sein sollte, weil es nach oben steigt, wird weiterhin rot wie bei der vorherigen person angezeigt, weil der abschnitt es bei ihr nach unten zeigte. es wäre halt schön, wenn die farbänderung automatisch funktionieren würde, sobald ich eine andere person über B1 wähle. mit deiner neuen funtion die du mir geschrieben hast, hat es noch nicht geklappt. hoffe du kannst mir weiterhelfen. danke schon mal im vorraus. gruß oblivion
https://www.herber.de/bbs/user/54067.xls

Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
22.07.2008 21:00:00
oblivion
hallo, ja in gewisser weise ist das eine fortsetzung zum letzten beitrag, aber ich hatte weiter unten schon was gepostet und da gabs eine fehlermeldung. deswegen habe ich einen neuen beitrag geschrieben. mittlerweile weiß ich woran es lag. gruß oblivion

AW: Fortsetzung Linienfarbe ändern Diagramm
22.07.2008 22:11:00
ingUR
Hallo, @oblivion,
dadurch dass der Programmcode in den Gültigkeitsbereich des Worksheets-Ereignisses der Tabelle "Auswertung (Tabelle14)" gesteckt wurde, ist die Objektbezug Worksheets("Auswertung") unzulässig. Entferne diesen Teil einschließlich dem Referenzierungspunkt vor dem Cells.
Eine etwas andere Vorgehnsweise, aufbauend auf der Programmvorarbeit von @beverly, habe ich im folgenden Code eingebaut. Deiser Code ist durch den bisherigen Cod zu ersetzen. Hier wird unabhängig von der Zellenposition, in der die Werte stehen, allein mit den Werten des Diagramms selber gearbeitet.
Für Deine Aufgabe, bei der nicht wirklich dynamische Bereiche für das Diagram verwendet werden (es wird ja immer der statische Bereich B3 bis B14 im Diagramm dargestellt) ist der Rückgrif auf die Chartdaten eigentlich nicht erforderlich. Jedoch, da Du in Deiner Ausgansfrage von einer dynamischen Daten(bereich) für das Diagramm geschreiben hast, wollte ich diese Lösung neben der von @Beverly stellen, wobei allerdings bei dynamischen Bereichen auch weitere Lösungswege möglich sind.
Zusätzlich ist der Fall berücksichtigt, dass sich zum folgenden Punkt keine Veränderung ergibt falrblich berücksichtigt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As Chart, varVs As Variant
Dim inPunkt As Integer, CIndex As Integer
If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(1)
varVs = .Values
For inPunkt = 2 To .Points.Count
If varVs(inPunkt - 1) > varVs(inPunkt) Then
CIndex = 3
Else
If varVs(inPunkt - 1) 


Gruß,
Uwe

Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
23.07.2008 17:04:00
oblivion
hallo @ ingUR. danke für die arbeit. ich probier es gleich mal aus. noch was zu den dynamischen bereichen. die monate sind im prinzip fest. doch die gewichte daneben kommen ja jeden monat neu dazu und deswegen habe ich es dynamisch gestaltet. außerdem wollte ich mir für die zukunft was offen lassen. so lässt sich das jahr 2009 besser mit integrieren. müsste ich dann natürlich entweder aus einer neuen datei extrahieren oder ich muss die bestehende soweit erweitern, dass 2009 platzt hat. wenn ich einfach das alte nehme, dann werden ja die daten von 2008 überschrieben. danke nochmal für deine hilfe. gruß oblivion

Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
23.07.2008 17:31:00
oblivion
hallo @ingUR, hab deine Programmzeilen ausprobiert. scheint alles zu funtionieren. Hatte es aber auch mit dem alten code hin bekommen, in dem ich den bereich, wo daten stehen, von B3:B14 auf A1:B14 geändert hatte. ich habe an deinen code noch folgende zeilen angehängt:

Sub auswertung()
Application.EnableEvents = True
End Sub


ist das so ok? ich wollte dein makro über den extras -- makro aufrufen, aber ich habe ihn dort nicht gefunden gehabt. deswegn hatte ich in dem anderen code nachgeschaut und am ende diese zeilen entdeckt. jetzt wird der makro in extras -- makros angezeigt.
gibt es eigentlich eine möglichkeit die makros selbst zu schützen? also dass ich sie entweder nicht über alt + F11 aufrufen kann, oder dass ich sie nicht mehr bearbeiten kann?
Ich habe den dritten farbcode mal entfernt, weil wenn das gewicht gleichbleibt es trotzdem positiv zu sehen ist.
ich denke langsam nimmt es gestalt an. ich danke nochmals für die hilfe.
gruß oblivion

Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
24.07.2008 11:12:17
ingUR
Hallo, @oblivion,
schön, dass es entsprechend Deiner Erwartungen funktioniert.
Ob und warum die Struktur Deines Programms die Befehlszeile Application.EnableEvents = True benötigt, kann ich aus den bisherigen Beiträgen in diesem Beitragsfadrn nicht erkennen. Der Gedanke, die Formatierungsroutine mit dem Ereignis der Veränderung eines Zellenwertes zu verknüpfen ( Private Sub Worksheet_Change(ByVal Target As Range) ) ist wohl gerde deswegen von @Beverly vorgeschlagen worden, damit der manuelle Aufruf nicht erforderlich wird.
Um den VBA-Programmcode eines VBA-Projektes zu "verbergen", gibt es die Möglichkeit im Dialogblatt "Schtz" des "VBAProject - Projekteigenschaften"-Dialogs (Aufruf unter dem Menüpunkt "Extras" oder im lokalenmenü des VBAProjekteintrages) die Anzeige zu sperren. Die Vergabe eines Kennworts bietet zudem auf niedrigen Level einen Schutz. Einzelne Abschnitte eines Projekts kanst Du meines Wissens nach auf diese Art nicht schützen.
Gruß,
Uwe
P.S.
Von dynamischen Objekten redet man eigentlich dann, wenn bestimmte Merkmale der Struktur erst zur Laufzeit festgelegt werden, wie z.B. in Deinem Fall, wenn Du die Jahresliste um das Jahr 2009 verlängern möchtest oder allgemeiner, Du die Listenwerte aller Jahre in der Tabelle vorhältst und nur ein bestimmtes Zeitfenster daraus im Diagramm darstellst, das Du dann quasi über die Zeitreihe verschieben oder/und in seiner Größe verändern kannst. Hingegen wird von einer statischen Objekt geredet, wenn die Struktur und Größe feststeht und nur die Werte variable sind, eben z.B. wenn Du in Deinen Zellenblock einmal die Werte des Jahres 2008 und ein anderes mals die Werte des Jahrs 2007 darstellen läßt.
Hast Du also z.B. in Deiner Liste z.B. mehrere Jahrgänge gesammelt und stellst aber im Diagramm nur 12 Werte dar, dann kannst Du die Diagrammfläche anwählen und dann den Datenquellenrahmen, der den Bezug zu den Diagrammdaten auf dem Tabellenblatt herstellt, über die Zeilen hinweg verschieben. Der Code wird automatisch die richtige Farbdarstellung der Steigungen einstellen, soblad z.B. mit F9 eine Neuberechnung ausgelöst wird.

Anzeige
AW: Fortsetzung Linienfarbe ändern Diagramm
24.07.2008 11:36:00
oblivion
hallo, danke das mit dem schutz hat geklappt. ich glaube fürs erste kann ich es so lassen. es funktioniert alles so wie ich mir das vorstelle. danke noch mal für die hilfe. gruß oblivion

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige