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

CSV -> Excel -> Diagramm

CSV -> Excel -> Diagramm
06.09.2007 09:21:21
Schlotter
Hallo,
ich habe hier einige CSV Log Dateien mit folgendem Aufbau:
eine Überschriftszeile(Spaltenbeschriftung - in jeder Datei identisch)
07/05/10,"00:14:00"," 79.11"," 76.23"," 43.42"," 5.90"," 5.90"," 1.42"," 148.41"," 40.55"," 40.08"," 1.91"," 331.09"," 120.86"," 0.00"," 0.00"
07/05/10,"00:15:00"," 79.35"," 76.43"," 43.44"," 5.90"," 5.90"," 1.46"," 148.68"," 40.54"," 40.06"," 1.91"," 331.30"," 120.98"," 0.00"," 0.00"
07/05/10,"00:16:00"," 79.41"," 76.51"," 33.74"," 5.90"," 5.90"," 1.49"," 148.78"," 40.53"," 40.05"," 1.90"," 331.28"," 121.14"," 0.00"," 0.00"
also Datum, Uhrzeit und dann eben Werte.
Eine Datei enthält immer 1 Tag. es wird minütlich geloggt (ca 1400 Zeien)
Soweit zum Ausgangsmaterial.
Diese Dateien möchte ich nun als Diagramme auswerten können.
Tages, Wochen, Monats, Quartalsdiagramm würde mir da vorschweben.
Eine einzelne Datei manuell ins Excel bringen ist kein Problem mit Text in Spalten.
Mehere wäre allerdings einiges an Aufwand (gibts da eine möglichkeit das zu Automatisieren?)
Weiteres Problem ist das Diagramm in Excel.
Da die Werte teils sehr flattern ergibt sich bei mir, wenn ich aus einer Tagesdatei ein XY Diagramm machen will, das nur noch ein dicker Strich draus wird.
Beim Wochendiagramm ist das dann noch extremer. Erschwerend ist da dann noch das Das Diagramm nicht damit klar kommt das alle 1400 zeilen die Überschrift kommt. (hab die Files einfach mal vorher mit dem guten alten Copy zu einer einzigen Verbunden ;) ) Also müss die auch irgendwie noch rausgefiltert werden.
Gibt es da Möglichkeiten z.b. den 30min Mittelwert zu bilden oder nur jeden 30sten wert in das Diagramm aufzunehmen?
Wäre ein anderer Diagrammtyp angebraucht als XY?
Ziel wäre es das ganze möglichst weit zu automatisieren :)
So ich hoffe das jetzt verständlich erklärt zu haben ;)
Danke fürs lesen (und hoffentlich antworten)
Gruß, Patrick

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

Betreff
Datum
Anwender
Anzeige
AW: CSV -> Excel -> Diagramm
06.09.2007 09:52:00
Beverly
Hi Patrick,
das sind viele Fragen auf einmal. Hier einige Antworten:
1. zeichne das Übernehmen aus den CSV-Dateien mit dem Makrorecorder auf, dann kann man darüber reden, wie man das in einer Schleife abarbeiten kann
2. zum Darstellen gemittelter Werte ist der praktikabelste Weg, eine Hilfstabelle mit diesen Werten anzutlegen undd as Diagramm darauf zu beziehen
3. Diagrammtyp XY ist OK, wenn du einen Verlauf darstellen willst.
Ich stelle den Beitrag als offen, da es viele nicht unbedingt umittelbar miteinander im Zusammenhang stehende Fragen sind.
________________________________________

Anzeige
AW: CSV -> Excel -> Diagramm
06.09.2007 10:37:24
Schlotter
Danke fürs Antworten :)
Ich dachte mir ich stell mein gesamtes Problem auf einmal dar anstatt Häppchenweise damit es nicht in die falsche Richtung läuft ;)
hier hab ich mal das öffnen einer Datei aufgezeichnet

ChDir "C:\Daten"
Workbooks.Open Filename:= _
"C:\Daten\SA00629.csv"
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 5), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array( _
13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1)), DecimalSeparator:=".", _
TrailingMinusNumbers:=True


Sinvoll wäre es hier dann denke ich in einer Schleife durch die *.csv zu gehen und immer eine reinkopieren und dann gleich umzuformatieren.
Oder gibts elegantere Lösungen?
zu 2.
wie würdet Ihr da vorgehen um diese Tabellen anzulegen?
So nun sinds leider noch mehr Fragen geworden...
Danke fürs lesen (und hoffentlich antworten)
Gruß, Patrick

Anzeige
AW: CSV -> Excel -> Diagramm
06.09.2007 12:20:51
Beverly
Hi Patrick,
zu 1.: ausgehend von deinem Code (habe ich nicht getestet, da mir deine Daten nicht vorloegen) für Text in Spalten versuche es mal hiermit

Sub uebernehmen()
Dim loLetzte As Long
Dim loLetzte2 As Long
Dim strPath As String
Dim strFile As String
strPath = "C:\Test\"  ' ""
If strFile  ThisWorkbook.Name Then
Workbooks.Open Filename:=strPath & strFile
loLetzte2 = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row,  _
Rows.Count)
Worksheets(1).Range("A1:A" & loLetzte2).Copy ThisWorkbook.Worksheets(1).Range("A" &  _
loLetzte + 1)
End If
ActiveWorkbook.Close
strFile = Dir()
loLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Loop
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 5), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(  _
_
13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1)), DecimalSeparator:=".", _
TrailingMinusNumbers:=True
End Sub


zu 2. ich bin nicht der Formelspezialist, deshalb - schau mal auf diese HP http://www.excelformeln.de/formeln.html, da findest du bestimmt Anregungen, wie man eine solche Tabelle aus deinen Ausgangsdaten erstellen kann. Es hängt ja auch ganz davon ab, wie deine Werte letztendlich insgesamt dann vorliegen. Und mit Einstufung "Excel gut" dürfte das kein Problem sein.
Bis später,
Karin

Anzeige
AW: CSV -> Excel -> Diagramm
06.09.2007 14:20:00
Schlotter
Hallo,
ich habe deinen Code jetzt mal probiert.
Leider führt er nicht zum gewünschtem Ergebnis und endet in einem Laufzeitfehler
ich habe dann nur in Spalte A einige fehlerhafte Datumsangaben stehen
ich habe jetzt mal ein paar Daten hochgeladen
https://www.herber.de/bbs/user/45744.zip
wäre Super wenn du das da mal testen könntest :)
Danke fürs lesen (und hoffentlich antworten)
Gruß, Patrick

AW: CSV -> Excel -> Diagramm
06.09.2007 18:04:51
Beverly
Hi Patrick,
es wäre schon gut gewesen, wenn du vermerkt hättest, dass du mit Excel2007 arbeitest...
Wie ich schon geschrieben habe: ich habe deinen Code nicht getestet. Das Problem bei Text in Spalten ist offensichtlich, dass dieser Code nicht reproduzierbar ist, d.h., Text in Spalten lässt sich nur von Hand ausführen, nicht mittles Code. Wenn du aber alle Daten in Spalte A vorliegen hast, dürfte das ja kein Problem sein.
Bis später,
Karin

Anzeige
AW: CSV -> Excel -> Diagramm
07.09.2007 13:55:00
Beverly
Hi Patrick,
das Problem tritt deshalb auf, weil das Datum intern keine Punkte beinhaltet und bei Text in Spalten von Hand offensichtlich das Zellformat berücksichtigt wird, was aus irgendeinem Grund mit VBA nicht funktioniert, obwohl die Einstellungen richtig sind.
Es gib aber eine andere Lösung, indem man das nicht über Text in Spalten macht, sondern aus dem Datum Tag, Monat und Jahr einzeln ausliest und in die betreffende Spalte schreibt. Dazu müsstest du zwei zusätzliche Variablen deklarieren "Dim arrWerte" und "Dim loZeile As Long". Außerdem musst du die gesamte Codezeile für Text in Spalten durch diesen Code ersetzen

arrWerte = Range("A1:A" & loLetzte)
For loZeile = 1 To loLetzte
If IsDate(arrWerte(loZeile, 1)) Then
Cells(loZeile, 1) = Day(arrWerte(loZeile, 1))
Cells(loZeile, 2) = Month(arrWerte(loZeile, 1))
Cells(loZeile, 3) = Year(arrWerte(loZeile, 1))
End If
Next loZeile
Columns("A:A").NumberFormat = "General"


Bis später,
Karin

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige