Anzeige
Archiv - Navigation
1632to1636
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

Fehler 13, CSV in .xls öffnen

Fehler 13, CSV in .xls öffnen
11.07.2018 14:06:37
Martin
Hallo liebe Community,
ich bin leider auf ein Problem gestoßen während ich für mein Praktikum eine Excel-Datei vorbereiten soll, die Honorar-Listen jeglicher Form einlesen und einfügen kann. .xls, .xlsx funktioniert schonmal, .csv- Dateien werden mir auch angezeigt, allerdings wenn ich diese durch die Funktion get kriege ich den Fehler 13: Typen unverträglich.
Warum weiß ich nicht.
Wenn ich bezeichnen muss, dass LOCAL=True dann nur wo? Weiß nicht ob das hilft. Würde ja eine Beispiel-CSV Datei hochladen, geht aber leider nicht. Habe stattdessen den Inhalt in den Editor gepackt:
https://www.herber.de/bbs/user/122619.txt
Hier mein bisheriger Code: (findet man so ja schnell im Netz)
Sub Zusammenführen()
Dim i               As Long
Dim sPfad           As String
Dim sDatei          As String
Dim vFileToOpen     As Variant
Dim lngLZ           As Long
Dim blnÜberschrift  As Boolean
Dim iCalc           As Integer
vFileToOpen = Application.GetOpenFilename("Excel Files (*.xls;*.csv;*.xlsx*), *.xls;*.xlsx;* _
.csv*", , , , True)
If Not IsArray(vFileToOpen) Then Exit Sub
iCalc = Application.Calculation
On Error GoTo ENDE:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For i = 1 To UBound(vFileToOpen)
sDatei = Dir(vFileToOpen(i))
sPfad = Left(vFileToOpen(i), InStr(vFileToOpen(i), sDatei) - 1)
With Tabelle1.Range("A1")
.Formula = "=LOOKUP(2,1/('" & sPfad & "[" & sDatei & "]Tabelle1'!$A:$A""""),ROW('" _
& sPfad & "\[" & sDatei & "]Tabelle1'!$A:$A))"
lngLZ = .Value
End With
With Tabelle1
If blnÜberschrift Then
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ - 1, 11).Formula = _
"='" & sPfad & "[" & sDatei & "]Tabelle1'!A2"
Else
blnÜberschrift = True
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ, 11).Formula = _
"='" & sPfad & "[" & sDatei & "]Tabelle1'!A1"
End If
End With
Call StatusBalken(Int((i / UBound(vFileToOpen)) * 100))
Next
With Tabelle1.UsedRange
.Copy
.PasteSpecial xlPasteValues
.Rows(1).Delete
End With
ENDE:
Application.EnableEvents = True
Application.Calculation = iCalc
Application.ScreenUpdating = True
If Err Then MsgBox Err.Description, , "Fehler: " & Err
End Sub

Sub StatusBalken(ProzentSatz) ''ProzentSatz = Int((i / 10000) * 100)
Dim Mess, Z, Rest
Static oldStatusBar As Integer
Static blnInit As Boolean
If Not blnInit Then
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
End If
Mess = ""
For Z = 1 To ProzentSatz
Mess = Mess & ChrW(Val("&H25A0"))
Next Z
Rest = 100 - ProzentSatz
For Z = 1 To Rest
Mess = Mess & ChrW(Val("&H25A1"))
Next Z
Application.StatusBar = Mess & " " & ProzentSatz & "%"
If Rest 

Wäre super wenn mir jemand helfen könnte, habe echt alles probiert was ich mit meiner geringen Erfahrung machen konnte.
Liebe Grüße,
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler 13, CSV in .xls öffnen
11.07.2018 14:19:51
Nepumuk
Hallo Martin,
eine CSV-Datei ist im Prinzip eine Textdatei darauf kannst du keine Formel setzten. Die musst du öffnen und als xlsx / xls speichern.
Gruß
Nepumuk
AW: Fehler 13, CSV in .xls öffnen
11.07.2018 14:25:11
Martin
Hallo Nepumuk,
danke auf jeden Fall schon mal für die schnelle Antwort.
Gibt es eine Möglichkeit, dass wenn ich meine Formel ausführe und auf CSV-Dateien anwende, dass diese automatisch in .xls Dateien umgewandelt werden? Sind halt Unmengen an Dateien die da kommen und eingelesen werden müssen...
Danke schonmal!
Liebe Grüße,
Martin
AW: Fehler 13, CSV in .xls öffnen
11.07.2018 14:45:03
Nepumuk
Hallo Martin,
nein, das geht nicht. Das sind zusätzliche Programmschritte.
Teste mal:
Sub Zusammenführen()
    Dim i As Long
    Dim sPfad As String
    Dim sDatei As String
    Dim vFileToOpen As Variant
    Dim lngLZ As Long
    Dim blnÜberschrift As Boolean
    Dim iCalc As Integer
    Dim objWorkbook As Workbook
    Dim strFilename As String
    
    vFileToOpen = Application.GetOpenFilename("Excel Files (*.xls;*.csv;*.xlsx*), *.xls;*.xlsx;* .csv*", , , , True)
    If Not IsArray(vFileToOpen) Then Exit Sub
    
    iCalc = Application.Calculation
    
    On Error GoTo ENDE
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    
    
    For i = 1 To UBound(vFileToOpen)
        
        sDatei = Dir(vFileToOpen(i))
        sPfad = Left(vFileToOpen(i), InStr(vFileToOpen(i), sDatei) - 1)
        
        If LCase$(Right$(vFileToOpen(i), 3)) = "csv" Then
            strFilename = Left$(sDatei, InStrRev(sDatei, ".") - 1)
            Set objWorkbook = Workbooks.Open(Filename:=vFileToOpen(i), Local:=True)
            Call objWorkbook.SaveAs(Filename:=sPfad & strFilename, FileFormat:=xlOpenXMLWorkbook)
            vFileToOpen(i) = objWorkbook.FullName
            Call objWorkbook.Close(SaveChanges:=False)
            Set objWorkbook = Nothing
        End If
        
        sDatei = Dir(vFileToOpen(i))
        
        With Tabelle1.Range("A1")
            .Formula = "=LOOKUP(2,1/('" & sPfad & "[" & sDatei & "]Tabelle1'!$A:$A<>""""),ROW('" _
                & sPfad & "\[" & sDatei & "]Tabelle1'!$A:$A))"
            lngLZ = .Value
        End With
        
        With Tabelle1
            If blnÜberschrift Then
                .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ - 1, 11).Formula = _
                    "='" & sPfad & "[" & sDatei & "]Tabelle1'!A2"
            Else
                blnÜberschrift = True
                .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ, 11).Formula = _
                    "='" & sPfad & "[" & sDatei & "]Tabelle1'!A1"
            End If
        End With
        
        Call StatusBalken(Int((i / UBound(vFileToOpen)) * 100))
    Next
    
    With Tabelle1.UsedRange
        .Copy
        .PasteSpecial xlPasteValues
        .Rows(1).Delete
    End With
    
    ENDE:
    Application.EnableEvents = True
    Application.Calculation = iCalc
    Application.ScreenUpdating = True
    If Err Then MsgBox Err.Description, , "Fehler: " & Err
End Sub

Gruß
Nepumuk
Anzeige
AW: Fehler 13, CSV in .xls öffnen
11.07.2018 14:56:11
Martin
Lieber Nepumuk,
klappt perfekt ich danke dir tausend Mal!! Vielen lieben Dank!
Wenn ich das richtig verstehe kopierst du die csv-Dateien einmal als xls oder so ähnlich, richtig?
Egal, super nett von dir :)
Liebe Grüße,
Praktikum ab heute über 3€/Stunde :p
AW: Fehler 13, CSV in .xls öffnen
11.07.2018 14:44:20
Günther
Moin,
frag doch einmal (ganz vorsichtig) nach, ob offizielle MS-Add-Ins erlaubt sind. mit Power Query, -> http://www.excel-ist-sexy.de/power-query-das-add-in/ wäre das Ganze (auch die *.xls* wahrscheinlich erheblich komfortabler.
Gruß
Günther
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige