Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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
Inhaltsverzeichnis

Spektralanalyse, Rasterdiagramm, Carpetdiagramm

Spektralanalyse, Rasterdiagramm, Carpetdiagramm
11.02.2019 11:39:49
saplex
Hallo,
ich würde gerne eine Excel-Tabelle mit einer sogenannten Spektralanalyse erstellen.
Das was ich suche ist zum Teil auch als Heatmap, Rasterdiagramm, Carpet-Diagramm oder eben Spektralanalyse beschrieben.
Ich habe hier im Forum auch schon ein Beispiel gefunden:
https://www.herber.de/forum/archiv/1304to1308/1307115_RasterdiagrammCarpetDiagramm.html
Meine Rohdaten sehen so aus:
https://www.herber.de/bbs/user/127569.xlsx
Es geht darum, dass man im 15-Minuten-Takt einen Messwert erhält und diesen bei Überschreitung einer gewissen Grenze farbig darstellt oder eben je nach Wert einen Farbverlauf generiert.
Mein Problem ist nun, dass ich an etwas ganz simplen scheitere - nämlich dem Grundaufbau der Tabelle.
Ich hätte gerne links die Tage (01.01., 02.01. etc.), oben die Uhrzeit (00:00, 00:15 etc.) und rechts den jeweiligen Wochentag.
Gibt es eine einfache Lösung den Grundaufbau so zu erstellen? Ich meine kopieren und transponiert einfügen ist nicht die eleganteste Art.
Etwa so:
Userbild

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

Betreff
Datum
Anwender
Anzeige
AW: Formatierung
11.02.2019 12:22:52
Fennek
Hallo,
so ähnlich:

Sub T_1()
An = Cells(2, 1)
En = Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)
Debug.Print An, En
With Sheets(2)
.Cells(2, 1) = An
.Cells(2, 1).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:= _
xlDay, Step:=1, Stop:=CDate(En), Trend:=False
.Cells(1, 2) = Format(0, "hh:mm")
.Cells(1, 2).DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step _
:=1.04166666666667E-02, Stop:=24, Trend:=False
.Range("B1:CJQ1").Font.Size = 8
.Columns("B:CJQ").ColumnWidth = 4
.Cells(1, "CJQ") = "Wochentag"
lr = .Cells(Rows.Count, 1).End(xlUp).Row
With .Range("CJQ2:CJQ2" & lr)
.FormulaR1C1 = "=rc1"
.NumberFormat = "DDD"
End With
End With
End Sub
mfg
Anzeige
AW: Formatierung
14.02.2019 11:25:44
saplex
Danke vorab für das Script, allerdings passiert bei mir nicht wirklich was. Ich hatte es 1:1 getestet und dann nochmal mit meinen Zellbereichen. Es kommt immer der "Laufzeitfehler '9': Index außerhalb des gültigen Bereichs".
AW: Formatierung
14.02.2019 11:38:13
saplex
Ok, ich habe gemerkt, dass es sich auf ein zweites Tabellenblatt bezieht, das habe ich eingefügt und dort erhalte ich nun auch meine Daten.
Leider passt es jedoch nicht.
Ich habe nun alles in der obersten Zeile stehen und der Rest ist auch recht wirr. Datei im Anhang.
https://www.herber.de/bbs/user/127651.xlsm
Es wurde alles horizontal angeordnet. Es sollte jedoch nur links der Tagesstempel, oben der Zeitstempel für den Tag und rechts der Wochentag stehen.
Ich wäre über jede Hilfe dankbar.
Anzeige
AW: Formatierung
14.02.2019 12:56:51
saplex
Also wenn ich aus dem "Stop:=24" ein "Stop:=1" mache, dann ist alles schön und passt.
Danach habe ich jedoch das Problem, dass das Datum in Spalte A nicht hochzählt und dadurch auch der Wochentag falsch behandelt wird.
Wie stelle ich es am geschicktesten an, dass ich sage:
das erste Datum liegt in A2
das zweite Datum liegt in A2 + 95
das dritte Datum liegt in A2 + (2*95)
Und das halt für alle 365 Tage im Jahr ...
for-Schleife ist klar, aber den Rest kriege ich nicht, da mir das Wissen bei Excel (noch)fehlt.
AW: Datum ohne Zeit
14.02.2019 15:48:58
Fennek
Hallo,
beim Testen hatte ich 2 Datum ohne Zeit genommen. Hier die Korrektur:

Sub T_1()
AN = Round(CDate(Sheets(1).Cells(2, 1)), 0)
En = Round(CDate(Sheets(1).Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)), 0)
Debug.Print AN, En
With Sheets(2)
.Cells.Clear
.Cells(2, 1) = CDbl(CDate(AN))
.Cells(2, 1).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:= _
xlDay, Step:=1, Stop:=CDbl(CDate(En)), Trend:=False
.Cells(1, 2) = Format(0, "hh:mm")
.Cells(1, 2).DataSeries Rowcol:=xlRows, Type:=xlChronological, Date:=xlDay, Step _
:=1.04166666666667E-02, Stop:=24, Trend:=False
.Range("B1:CJQ1").Font.Size = 8
.Columns("B:CJQ").ColumnWidth = 4
.Cells(1, "CJQ") = "Wochentag"
lr = .Cells(Rows.Count, 1).End(xlUp).Row
With .Range("CJQ2:CJQ2" & lr)
.FormulaR1C1 = "=rc1"
.NumberFormat = "DDD"
End With
End With
End Sub
mfg
(das Suchen dauerte länger als die Erst-Entwicklung)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige