Horizontaler Zeitstrahl in einen Vertikalen umwandeln
#1
Hallo!
Ich habe einen Zeitstrahl erstellt, welcher durch Eingabe von Daten Termine auf einer horizontalen Achse abbilden kann.

Wie ein horizontaler Zeitstrahl funktioniert weiß ich, jedoch würde mich interessieren ob man das ganze auch als vertikalen Zeitstrahl umsetzen könnte?

Die einzige Lösung die mir momentan dazu einfällt wäre das Diagramm als Grafik zu Speichern und dann innerhalb des Excel Sheets um 90* zu drehen, allerdings würde man dann ja nichts mehr am Diagramm ändern können.

Ist es möglich das Diagramm an sich zu drehen, ohne dass man das ganze vorher in eine Grafik umwandeln muss? 

Oder was noch besser wäre: Lässt sich mein horizontaler Zeitstrahl in einen vertikalen Zeitstrahl abändern?


.xlsx   Zeitstrahl test - Kopie.xlsx (Größe: 21,07 KB / Downloads: 8)

Danke und Gruß!
Top
#2
Hallo d...,

wenn du anstatt eines Liniendiagramms ein Punkdiagramm nutzt, kannst du entscheiden welche Werte parallel zur Y-Achse angezeigt werden.

Anstatt Säulen (dann Balken) kannst du Fehlerindikatoren mit grosser Strichstärke nutzen. Das hat aber den Nachteil, dass du die Strichstärke anpassen must, wenn sich die Abstände auf der Y-Achse stark verändern.

ps. Du hast in deinem Beispiel als Basis der Datumsachse "Jahre" ausgewählt. Damit kannst du pro Jahr nur ein Ereignis vernünftig darstellen und die Abstände sind nicht mehr proportional zu den Tagesdifferenzen. Ist dies so gewollt, oder der Tatsache geschuldet, dass sonst die Säulen nich vernünftig dargestellt werden konnten. Wenn es gewollt ist, must du für die Y-Achse des Punktdiagramms eine zusätzliche Datenreihe mit den entsprechenden Jahreszahlen anlegen.
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • diving_excel
Top
#3
Hallo,

du könntest das Diagramm auch einfach als 'Verknüpfte Grafik' in einem anderen Tabellenblatt einfügen. Die Grafik ändert sich automatisch, sobald sich das Diagramm ändert.

https://www.excel-inside.de/funktionen-a...herstellen

Die Grafik kannst du beliebig auf dem Tabellenblatt ausrichten.
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • diving_excel
Top
#4
Wow, diese Kamera Funktion kannte ich noch nicht, sehr praktisch!

Danke, ist eine super Lösung!

Eine Letzte Frage hätte ich noch:

Wenn ich den Zeitstrahl mit der Kamera Funktion als Verknüpfte Grafik anzeigen lasse, wird mir zwar alles wie gewünscht angezeigt, aber die Datei wird auch sehr langsam dadurch. Vor allem wenn ich neue Termine eintrage.

Kann ich diese Kamera Funktion über einen Command Button aktivieren, so dass nur aktualisiert wird, wenn ich da drauf klicke?

Danke & Gruß!
Top
#5
Hallo,

also, so viel langsamer, wird die Datei dadurch auch nicht. Undecided 

Kannst dir aber einen ToggleButton auf die Diagrammseite machen ...

PHP-Code:
Private Sub ToggleButton1_Click()
With ToggleButton1
    
If .Value True Then
        
.Caption "Aus"
        Application.Calculation = -4135 'manuell
    Else
        .Caption = "Ein"
        Application.Calculation = -4105 '
automatik
    End 
If
End With
End Sub 
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • diving_excel
Top
#6
Danke für deine Tipps, ich habe jetzt stattdessen ein Makro geschrieben, was den Zeitstrahl in eine Grafik umwandelt und dann dreht:
Code:
Private Sub ToggleButton3_Click()
If ToggleButton3 = True Then
   ToggleButton3.Caption = "Zeitstrahl bearbeiten"
   Application.ScreenUpdating = False
   ActiveWindow.ScrollColumn = Range("A1").Column
   ActiveWindow.ScrollRow = Range("A1").Row
   ActiveSheet.Shapes.Range(Array("Zeitstrahl Grafik")).Select
   Selection.Delete
   Application.ScreenUpdating = True
Else
   ToggleButton3.Caption = "Zeitstrahl anzeigen"
   Application.ScreenUpdating = False
   ActiveWindow.ScrollColumn = Range("A100").Column
   ActiveWindow.ScrollRow = Range("A100").Row
   ActiveSheet.ChartObjects("Zeitstrahl").Activate
   ActiveChart.ChartArea.Copy
   Range("B106").Select
    ActiveSheet.Paste
   Selection.ShapeRange.Rotation = 90
   Selection.ShapeRange.Name = "Zeitstrahl Grafik"
   Application.ScreenUpdating = True
End If
End Sub




Es gibt sicher bessere Lösungen, aber für mich als VBA Anfänger doch eine ganz akzeptable Lösung  :19:


Danke nochmal für den Tipp mit der Kamera, werde das sicher noch irgendwo gebrauchen!
Top


Gehe zu:


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