|
Habe ein Makro gebastelt, um 365csv Dateien mit Zurodnung in ein Datenblatt zu lesen.
Allerdings verzweifle ich bei der Vorgabe "Dezimaltrennzeichen" auf Punkt zu setzen
Hier richtig bei manuellem Import
|
CSV-Export |
Version: 1.01 |
Separator: Semicolon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
SENS0802 |
|
|
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
39082 |
|
TimeStamp |
ExlSolIrr |
IntSolIrr |
SMA-h-On |
TmpAmb C |
TmpAmb F |
TmpAmb K |
TmpMdul C |
TmpMdul F |
TmpMdul K |
WindVel km/h |
WindVel m/s |
WindVel mph |
|
hh:mm |
W/m^2 |
W/m^2 |
h |
?C |
?F |
K |
?C |
?F |
K |
km/h |
m/s |
mph |
|
00:00 |
0 |
0 |
285,11 |
-273,1 |
-459,6 |
0 |
-0,18 |
31,52 |
272,9 |
0 |
0 |
0 |
|
00:15 |
0 |
0,03 |
285,36 |
-273,1 |
-459,6 |
0 |
-0,1 |
31,67 |
273 |
0 |
0 |
0 |
Hier falsch nach meinem Makro Spalte 3 und Spalte 9
|
hh:mm |
W/m^2 |
W/m^2 |
h |
°C |
°F |
K |
°C |
°F |
K |
km/h |
m/s |
mph |
2017-02-01.csv |
1 |
|
00:00 |
0 |
0.14 |
261.3 |
-273.1 |
-459.6 |
0 |
0 |
31. Jul |
273.1 |
0 |
0 |
0 |
2017-02-01.csv |
2 |
|
00:15 |
0 |
0 |
261.55 |
-273.1 |
-459.6 |
0 |
0 |
31.9 |
273.1 |
0 |
0 |
0 |
2017-02-01.csv |
3 |
|
00:30 |
0 |
0.06 |
261.8 |
-273.1 |
-459.6 |
0 |
0 |
31.9 |
273.1 |
0 |
0 |
0 |
2017-02-01.csv |
4 |
|
00:45 |
0 |
Mrz 22 |
262.05 |
-273.1 |
-459.6 |
0 |
0 |
31.81 |
273.03 |
0 |
0 |
0 |
2017-02-01.csv |
5 |
|
01:00 |
0 |
09. Sep |
262.29 |
-273.1 |
-459.6 |
0 |
-0.02 |
30. Jun |
273 |
0 |
0 |
0 |
2017-02-01.csv |
6 |
|
01:15 |
0 |
Nov 23 |
262.54 |
-273.1 |
-459.6 |
0 |
-0.07 |
29. Sep |
273 |
0 |
0 |
0 |
2017-02-01.csv |
7 |
hier mein Makro
Sub CSV_Importieren()
Dim wksZiel As Worksheet, lngZeile_Z As Long
Dim wkbCSV As Workbook
Dim strPfad As String, strDatei As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Bitte Ordner mit CSV-Dateien auswählen"
.InitialFileName = "Q:\2_2_Projektunterlagen\Carolinensiel\3_Monitoring_SDI\3_Wirkleistungsbegrenzung\Neuer Ordner"
If .Show = -1 Then
strPfad = .SelectedItems(1)
Else
GoTo Beenden
End If
End With
Set wksZiel = ActiveWorkbook.Worksheets(1)
strPfad = strPfad & Application.PathSeparator
'CSV-Dateien suchen
strDatei = Dir(strPfad & "*.csv")
lngZeile_Z = 1 '1. Einfügezeile
Application.ScreenUpdating = False
Do Until strDatei = ""
Set wkbCSV = Application.Workbooks.Open(Filename:=strPfad & strDatei, _
ReadOnly:=True, Local:=True)
' Set wkbCSV = Application.Workbooks.Open(Filename:=strPfad & strDatei, _
Format:=1, Origin:=xlWindows, ReadOnly:=True, Local:=True)
'Parameter Format: 1 Tabstopps _
2 Kommas _
3 Leerzeichen _
4 Semikolons
'Daten kopieren
wkbCSV.Worksheets(1).Range("A6:m102").Copy wksZiel.Cells(lngZeile_Z, 1)
'Spalten mit Infos zum Sortieren anfügen
With wksZiel
'Dateiname rechts neben den Daten in Spalte N einfügen
.Range(.Cells(lngZeile_Z, 14), .Cells(lngZeile_Z + 97, 14)).Value = strDatei
'fortlaufende Nr. für die 97 Zeilen in Spalte O einfügen
With .Range(.Cells(lngZeile_Z, 15), .Cells(lngZeile_Z + 97, 15))
.FormulaR1C1 = "=ROW()- " & lngZeile_Z & " + 1"
.Calculate
.Value = .Value
End With
End With
'Nächste Einfügezeile
lngZeile_Z = lngZeile_Z + 97
'CSV-Datei wieder schliessen
wkbCSV.Close savechanges:=False
Set wkbCSV = Nothing
strDatei = Dir
Loop
Application.ScreenUpdating = True
Beenden:
End Sub
Danke für Hilfe, welchen Code ich einfügen muss, da bislang alle meine Versuche nicht funktioniert haben.
Gruß
Kathrin
|