Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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

Importe CSV-Daten automatisch formatieren

Importe CSV-Daten automatisch formatieren
07.04.2015 00:24:26
Tom
Hallo Leute,
ich habe es mit folgenem Makro bereits hinbekommen eine CSV-Datei automatisch zu importieren.
Sub Import_CSV()
' Import_CSV Makro
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Thomas\AppData\Roaming\MetaQuotes\Terminal\ _
9662C61C6715C26397817D3943CECEEC\MQL4\Files\His.csv" _
, Destination:=ActiveCell)
.Name = "His_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,   _
_
_
1, 1,  _
1, 1, 1, _
1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Wie kann ich nun die importierten Datensätze automatisch reihenmäßig formatieren?
1. Spalte zentrieren und Benutzerdefiniert TT.MM.JJJJ hh:mm
2.- 6 Spalte zentrieren
7. Spalte zentrieren und Benutzerdefiniert TT.MM.JJJJ hh:mm
8. Spalte automatisch formel einfügen =WENN(ISTLEER(Zelle);"";KALENDERWOCHE(Zelle;2)) und zentrieren -> zelle bezieht sich auf die zelle neben der eigentlichen Formel
9. Spalte zentrieren
10. Spalte automatisch Formel einfügen =WENN(ISTLEER(J14);"";J14-C14)
11. und 12. Spalte Punkte innerhalb der Werte durch Kommas ersetzen
... und so weiter
wäre super wenn mir eier helfen könnte =)
Gruß Thomas

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Importe CSV-Daten automatisch formatieren
07.04.2015 12:04:01
fcs
Hallo Thomas,
die Formatierung kann dann ungefähr wie folgt aussehen.
Allerdings wird durch die Änderung der Formatierung die Darstellung nicht immer geändert, wenn der Ursprungsinhalt Text ist.
So muss man z.B. bei den Zahlen, bei denen der Punkt durch das Komma erstzt wird, noch etwas nachhelfen.
Die Formel für Spalte 10 (J) funktioniert so nicht.
Gruß
Franz
Sub Import_CSV()
' Import_CSV Makro
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Thomas\AppData\Roaming\MetaQuotes\Terminal\" _
& "9662C61C6715C26397817D3943CECEEC\MQL4\Files\His.csv", _
Destination:=ActiveCell)
.Name = "His_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Dim wks As Worksheet, lngZeile_L As Long, Zelle As Range
Set wks = ActiveSheet
With wks
lngZeile_L = .UsedRange.Row + .UsedRange.Rows.Count - 1
With .Columns(1)
.HorizontalAlignment = xlCenter
.NumberFormat = "DD.MM.YYYY hh:mm;@"
End With
With .Range(.Columns(2), .Columns(6))
.HorizontalAlignment = xlCenter
End With
With .Columns(7)
.HorizontalAlignment = xlCenter
.NumberFormat = "DD.MM.YYYY hh:mm;@"
End With
With .Columns(8)
.HorizontalAlignment = xlCenter
End With
With .Range(.Cells(1, 8), .Cells(lngZeile_L, 8))
.FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",WEEKNUM(RC[-1],2))"
End With
With .Columns(9)
.HorizontalAlignment = xlCenter
End With
With .Range(.Cells(1, 10), .Cells(lngZeile_L, 10))
'Formel funktioniert so nicht - Zirkelbezug
.FormulaR1C1 = "=IF(ISBLANK(RC10),"""",RC10-RC3)"
End With
With .Range(.Cells(1, 11), .Cells(lngZeile_L, 12))
.Replace What:=".", Replacement:=",", lookat:=xlPart
'Texte in Zahlen umwandeln
For Each Zelle In .Cells
If IsNumeric(Zelle) Then Zelle.Value = CDbl(Zelle.Value)
Next
End With
End With
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige