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

Import csv Datei

Import csv Datei
23.10.2017 08:47:03
Dominik
Guten Morgen,
mir liegt folgendes Problem vor:
Ich möchte mit folgendem Makro CSV Datein importieren
Sub ImportiereCSVDateien()
Const CSVPFAD = "G:\TD\Elektro\Messwerte Energiemessgeräte\HV 10"
Dim wbTarget As Workbook, wbSource As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.Filesystemobject")
Set wbTarget = ActiveWorkbook
Application.DisplayAlerts = False
'Lösche alle Worksheets bevor wir alle neu anlegen
If wbTarget.Worksheets.Count > 1 Then
For i = 50 To wbTarget.Worksheets.Count - 1
wbTarget.Worksheets(i).Delete
Next
End If
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(Right(f.Name, 3)) = "csv" Then
Workbooks.OpenText Filename:=f.Path
Set wbSource = ActiveWorkbook
On Error Resume Next
Set ws = wbTarget.Worksheets(f.Name)
If Err  0 Then
Set ws = wbTarget.Worksheets.Add
ws.Name = f.Name
ws.Range("A:ZZ").Clear
End If
'Datumformat Zelle C
' Umstellen auf Standardformatierung
Range("A2:A" & intCounter).NumberFormat = "General"
For Each rngzelle In Range("C8:C700" & intCounter)
With rngzelle
.Value = CDate(Left(.text, 10)) + CDate(Right(.text, 8))
'    .NumberFormat = "dd/mm/yyyy hh:mm:ss"
End With
Next rngzelle
Application.ScreenUpdating = True
For Each rngzelle In Range("C1:I700").EntireColumn.AutoFit
Next rngzelle
wbSource.Worksheets(1).Range("A:A").TextToColumns Destination:=Range("A1"),  _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Semicolon:= _
True, TrailingMinusNumbers:=False
wbSource.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
wbSource.Close False
End If
Next
Application.DisplayAlerts = True
Set fso = Nothing
End Sub

Das funktioniert auch so weit ganz gut...also zumindest bei der einen csv Datei
(HV10...)https://www.herber.de/bbs/user/117161.txt
bei der anderen
(HV40.....)https://www.herber.de/bbs/user/117162.txt
funktioniert aber komischer weise die Auto Breite der Spalten nicht und es fehlen ein paar Werte....obwohl beide csv Datein vom Aufbau indentisch sind.
Vielen dank schon mal im vorraus
LG Dominik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Import csv Datei
23.10.2017 11:00:58
EtoPHG
Hallo Dominik,
For Each rngzelle In Range("C1:I700").EntireColumn.AutoFit
diese Anweisung kann gar nicht funktionieren! Sie läuft auf einen Fehler, weil Each ein Objekt voraussetzt und nicht eine Methode! Dein On Error Resume Next macht dir alles kaputt, weil damit Laufzeitfehler einfach ignoriert werden.
Gruess Hansueli
AW: Import csv Datei
23.10.2017 11:14:55
Luschi
Hallo Dominik,
wenn Du mit 'On Error Resume Next' arbeitest, dann solltest Du so schnell wie möglich diese
Einstelleung wieder zurückstellen.
Ansonsten merkst Du garnicht, was alles falsch läuft im Code, weil diese Einstellung bis zum _ Ende der Prozedur gültig ist und jeden Fehler übergeht; Also:

On Error Resume Next
Set ws = wbTarget.Worksheets(f.Name)
On Error GoTo 0
If ws Is Nothing Then
'Arbeitsblatt nicht vorhanden!
Set ws = wbTarget.Worksheets.Add
ws.Name = f.Name
ws.Range("A:ZZ").Clear
End If
Ich mußte forgende Variablen nachdimensionieren:
Dim fso As Object, f As Object, rngzelle As Range, i As Integer, intCounter As Integer
und intCounter hat den Wert '0', so daß
Range("A2:A" & intCounter).NumberFormat = "General"
einen Fehler wirft.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Import csv Datei
23.10.2017 11:32:51
Werner
Hallo Dominik,
ein paar Anmerkungen:
-das mit On Error wurde ja schon angemerkt
-es sind nicht alle Variablen deklariert
-der Variablen intCounter ist kein Wert zugewiesen, ist also 0
-was willst du damit?
For Each rngzelle In Range("C8:C700" & intCounter)

das ergibt letztlich als Ergebnis Range("C8:C7000")
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige