Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Diagramm mit Text zu einer bestimmten Uhrzeit
#21
Hallo M...,

A) Zur Übername eines Musters
Ein Muster benötigt natürlich noch andere Eigenschaften als nur die Farbe. Wenn es wirklich ein Muster sein soll, kannst du ja einmal manuell eine Zelle und eine Säule mit einem Muster formatieren und dabei aufzeichnen welche Eigenschaften gesetzt werden.
(Also vor der Formatierung im Menü "Entwicklertools" "Makro aufzeichnen" drücken und nach der Formatierung "Aufzeichnungen beenden".)
Diese Eigenschaften müssen dann im Makro von der Zelle auf die Säule übernommen werden.

B) Zur Zuordnung der Schaltfläche
Ich arbeite immer mit ActiveX Steuerelementen, da braucht/kann man dem Button kein Makro zuordnen. Wenn du das Wort "Private" vor "Sub" entfernst wird dir das Makro auch bei der Zuordnung angezeigt. (Ich würde auch den Namen der Sub ändern.)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#22
Hallo Helmut,

scheinbar habe ich beim Einbetten deines Makros einen Fehler gemacht. Sobald ich auf die Schaltfläche klicke, werden zwar die Grenzen eingestellt, allerdings werden weder die Farbe, noch die Transparenz übernommen. Ich habe diesbezüglich den Bereich Säule00 sowie die Transparenzspalte rechts daneben bis unten markiert, und mittels Rechtsklick einen Namen definiert ("Farben"). ALlerdings werden beide nach Klick auf die Schaltfläche nicht übernommen. Habe ich hier was übersehen?

Ich habe jetzt bezüglich eines Farbmusters mal ein Makro aufgezeichnet:

Code:
Sub Makro1()
'
' Makro1 Makro
'

'
    With Selection.Interior
        .Pattern = xlPatternLinearGradient
        .Gradient.Degree = 90
        .Gradient.ColorStops.Clear
    End With
    With Selection.Interior.Gradient.ColorStops.Add(0)
        .Color = 16777215
        .TintAndShade = 0
    End With
    With Selection.Interior.Gradient.ColorStops.Add(1)
        .Color = 2703605
        .TintAndShade = 0
    End With
End Sub
Allerdings bekomme ich jede Menge Fehlermeldungen, wenn ich die entsprechenden Codezeilen in das ursprüngliche Makro einfügen will:
Code:
If Farben(Z, 1) = ser.Name Then
                ser.Format.Fill.ForeColor.RGB = rngFarben.Offset(Z - 1, 0).Interior.Color
                ser.Format.Pattern = rngFarben.Offset(Z - 1, 0).xlPatternLinearGradient
                ser.Format.Interior.Gradient.ColorStops.Add(0) = rngFarben.Offset(Z - 1, 0).Interior.Gradient.ColorStops
                ser.Format.Interior.Gradient.ColorStops.Add(1) = rngFarben.Offset(Z - 1, 0).Color
                ser.Format.Fill.Transparency = rngFarben.Offset(Z - 1, 1).Value
                Exit For


Angehängte Dateien
.xlsm   Verlaufsprotokoll.xlsm (Größe: 75,32 KB / Downloads: 3)
Antworten Top
#23
Kurzes Update: Das Problem mit dem Übertragen der Farben ist gelöst, jetzt geht es nur noch um das Makro (s. letzter Post).
Antworten Top
#24
Hallo M...,

A) Wenn sich die Grenzen ändern, wird das Makro also durchgeführt. Ausserdem findet es einen benannten Bereich "Farben", da es ansonsten bei der Zeile
Code:
Farben = Me.Range("Farben").Value
mit einem Fehler abbrechen würde.

B) Ich vermute, dass das Makro keinen Reihennamen findet, der mit einem Text in der ersten Spalte des Bereiches "Farben" übereistimmt.
Code:
If Farben(Z, 1) = ser.Name Then

1. Entweder die Reihen haben einen anderen Namen (mit "Daten auswählen" oder "Diagrammtyp ändern" kannst du sehen unter welchen Namen Reihen eingerichtet sind ) oder
2. die Namen sind nicht in der ersten Spalte des benannten Bereiches (unter "Formeln">"Definierte Namen">"Namensmanager" oder einfach mit F5 und anklicken von "Farben" kannst du den Bereich erkennen).
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#25
Hallo Helmut,

ich denke ich werde die Formatierung der Säulen mit einem Farbverlauf oder Muster dann manuell machen, sind ja zum Glück nicht viele. Was mich jedoch noch beschäftigt:

Die dreieckigen Symbole im Diagramm sind sehr unscharf. Ich habe diese als Bild eingefügt, da die Standardpunkte leider sehr überschaubar sind. Leider musste ich das Bild vor dem Einfügen verkleinern (auf 13x13 Pixel), da man die Größe des Bildes nach dem Einfügen nicht mehr verstellen kann. Letzteres ist auch das Problem, wenn ich bei der Auswahl des Bildes eines aus der Piktogrammsammlung übernehme. Gibt es da irgendeinen Trick, wie man eingefügte Bilder als Markierungssymbol nachträglich noch kleiner machen kann?
Antworten Top
#26
Hallo M...,

Ja, man kann nach Einfügen der Grafik unter "Datenreihe formatieren">"Markierung">"Markierungsoptionen">"Integriert" den Typ Quadrat oder Kreis wählen. Dann wird die Grafik in diesen Typ in aktueller Grösse eingepasst. Die Grösse kann man dann ganz normal verändern.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#27
Hallo Helmut,

danke für den Hinweis, das ist doch bescheuert von Excel, dass man die Größe von Bildern nicht direkt ändern kann...

Ich habe mich jetzt nochmal mit dem Thema Verbindungslinien befasst. Das Diagramm ist jetzt so eingestellt, dass die X-Achse immer eine Zeitspanne von 2 Stunden 45 Minuten umfasst, und auch die Breite des Diagramms bleibt immer gleich breit, somit entsprechen Abstände auf der X-Achse immer einer konstanten Zeitspanne. Ist es möglich mittels Makro, entsprechende Verbindungslinien in der Mitte der Söulen einzuzeichnen, die jeweills die Zahlen verbinden, wobei die Granzen der Linien genau den Grenzen der Rahmen um die Zahlen entsprechen (s. angehängtes Bild).


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#28
Hallo M...,

A. Ja, man kann per Makro beliebige Formen pixelgenau positionieren. Aber das sprengt meines Erachtens die Hilfe in diesem Forum. Das könnte eine Auftragsprogrammierung werden (was ich nicht mache).

B. Hier noch einmal ein Vorschlag zum Eintrag von Zeitbereichen (wieder ohne Verbindungslinien nur mit Intervallklammern) für drei Ereignisse der gleichen Bezeichnung.

1. Start der Medikation von 5 ml/h:  "[5"
2. Wechsel von 5 auf 2 ml/h:"5][2"
3. Ende der Medikation: "2]"
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#29
Hallo  M...,

so eine grafische Aufbereitung kann, abhängig von Sonderfällen (wie in deinem Beispiel die Texte in Rechtecke), beliebig komplex sein. Falls du dich selbst einmal probieren möchtest hier einige Bemerkunge  für einfache Linien.

A) Tabelle
1. Ich würde noch eine Diagramm-Datenreihe für Beschriftungen anlegen, so dass ich pro Zeile entweder zwei getrennte Ereignisse oder ein Ereignis über eine Intervall angeben kann. Das Programm muss erkennen können, ob es sich um ein Intervall handelt.
2. Die Daten der beiden Datenreihen in einen benannten Bereich zusammenfassen.

B) Namen der Linien
Ich würde allen vom Progamm gezeichneten Linien einen Namen mit gleichem Anfang geben, so dass ich nicht aus Versehen die falsche Form lösche.

C) Programm
1. alle Formen in der Diagrammfläche mit dem obigen Namensanfang löschen.
2. Für jede zu zeichnende Linie eine Form mit gleichem Namensanfang auf der Diagrammfläche anlegen und folgende Eigenschaften bestimmen:
a) die Länge der Form unter Berücksichtigung der Intervallgrenzen, der Grenzen der X-Achse und der Breite der Zeichnungsfläche
b) die Startposition von links auf der Diagrammfläche abhängig von dem X-Wert des Intervallstarts, den Grenzen der X-Achse und dem Start der Zeichnungsfläche auf der Diagrammfläche.
c) die Startposition von oben auf der Diagrammfläche abhängig von dem Y-Wert des Ereignisses, den Grenzen der Y-Achse und dem Start der Zeichnungsfläche auf der Diagrammfläche.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#30
Hallo Helmut,

danke für deine Anregungen, ich habe auch überlegt einfach ein Makro zu basteln, indem die Zeitabschnitte zwischen zwei Einträgen einfach mit einem "-" im 30 Sekundentakt aufgefüllt werden, so ergibt sich im Bild auch eine durchgezogene Linie, auch wenn diese nicht so dick ist wie die gezeichnete, außerdem verbraucht das jede Menge Zeilen.

Eine weitere Frage: Wenn ich zu einer bestimmten Zeit z.B. die Zeit 1000 eintrage, dann wird die Zahl by default zentriert eingetragen, d.h. die Zeitmarke befindet sich in der Mitte der Zahl. Wenn ich allerdings dann die Zahl auf rechts stelle, befindet sich zwischen der Zeitmarke und dem Beginn der 1 ein riesiger Abstand, der auch nach dem Anpassen des Randes auf 0 cm nicht komplett weg ist, kann man das noch irgendwie beeinflussen?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste