Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV automatisch in Excel umwandeln

Forumthread: CSV automatisch in Excel umwandeln

CSV automatisch in Excel umwandeln
25.08.2003 17:03:11
Roggi
hallo zusammen,
ich habe ein kleines problem.
ich möchte gerne, dass von einem programm erzeugte csv-dateien die z.b. im verzeichnis c:/test gespeichert werden automatisch in eine xls-datei umgewandelt bzw. gespeichert werden. die umwandlung soll immer dann automatisch erfolgen, wenn in dem verzeichnis eine neue csv-datei gespeichert wird.
kann mir jemand helfen ???
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV automatisch in Excel umwandeln
26.08.2003 01:23:02
Karsten
wenn du solch einen marcro ständig laufen lässt hast du natürlich eine
endlosschleife! somit geht das also mit excel alleine nicht.
vielleicht eine kleine .vbs datei per task (alle halbe stunde oder so) planen die dann eine mappe
mit folgendem marcro startet.
in die arbeitsmappe müsste dann noch:

Private Sub Workbook_Open()
Application.Visible = False
scanner
End Sub

der rest in ein modul
Sub scanner()
Dim dName$
dName = "c:\test\*.csv"
If Dir(dName) <> "" Then
umwandeln
Else
Application.Quit
End If
End Sub

_____________________________________________________
Sub umwadeln()
'einlesen der ermittelten csv datei
Dim DatVgl As Date
Dim Mappe As String
Dim ZMappe As String
Const m = "c:\test"
Mappe = Dir(m & "\*.csv")
Do Until Mappe = ""
DatVgl = FileDateTime(m & "\" & Mappe)
Dat = DatVgl
ZMappe = m & "\" & Mappe
Mappe = Dir()
Loop
Application.Visible = False
Workbooks.Open Filename:=ZMappe
Application.Visible = False
'datei wird als kopie in unterordner verschoben
Dim s As String
Const Lw = "c:\"
Const Pfad = "c:\test\xls"
'Ermitteln des Dateinamens
s = ActiveWorkbook.Name
ChDrive Lw
ChDir Pfad
'Arbeitsmappe speichern
ActiveWorkbook.SaveAs Filename:=s, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'Zuvor bearbeitete Datei wird aus Hauptverzeichniss gelöscht
On Error GoTo ende:
ChDir "c:\test"
Kill (s)
ende:
'erneutes starten des scanners
scanner
End Sub

hoffe du kannst da was mit anfangen
gruß karsten

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

CSV automatisch in Excel umwandeln


Schritt-für-Schritt-Anleitung

Um CSV-Dateien automatisch in Excel umzuwandeln, kannst du ein Makro verwenden, das regelmäßig nach neuen CSV-Dateien sucht und diese öffnet. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“, wähle „Einfügen“ und dann „Modul“.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Private Sub Workbook_Open()
       Application.Visible = False
       scanner
    End Sub
    
    Sub scanner()
       Dim dName As String
       dName = "c:\test\*.csv"
       If Dir(dName) <> "" Then
           umwandeln
       Else
           Application.Quit
       End If
    End Sub
    
    Sub umwandeln()
       Dim DatVgl As Date
       Dim Mappe As String
       Dim ZMappe As String
       Const m = "c:\test"
       Mappe = Dir(m & "\*.csv")
       Do Until Mappe = ""
           DatVgl = FileDateTime(m & "\" & Mappe)
           ZMappe = m & "\" & Mappe
           Mappe = Dir()
       Loop
       Application.Visible = False
       Workbooks.Open Filename:=ZMappe
       ActiveWorkbook.SaveAs Filename:=Replace(ZMappe, ".csv", ".xls"), FileFormat:=xlNormal
       On Error Resume Next
       Kill ZMappe
       On Error GoTo 0
       scanner
    End Sub
  4. Speichere die Arbeitsmappe als Makro-aktivierte Datei (.xlsm).

  5. Erstelle eine geplante Aufgabe in Windows, die alle 30 Minuten das Excel-Dokument öffnet.


Häufige Fehler und Lösungen

  • Endlosschleife: Wenn das Makro ständig läuft, kann es zu einer Endlosschleife kommen. Stelle sicher, dass das Makro nur dann ausgeführt wird, wenn neue CSV-Dateien vorhanden sind.
  • Dateipfad nicht gefunden: Überprüfe, ob der angegebene Dateipfad (c:\test) korrekt ist und Schreibrechte vorhanden sind.
  • Speicherfehler: Wenn Excel beim Speichern der Datei einen Fehler anzeigt, überprüfe, ob die Datei bereits geöffnet ist oder ob der Speicherort existiert.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, könntest du auch eine .vbs-Datei erstellen, die das Umwandeln der CSV-Dateien in Excel automatisiert. Diese Methode kann über die Windows Aufgabenplanung ebenfalls automatisiert werden.


Praktische Beispiele

  • CSV in Excel umwandeln: Wenn du eine CSV-Datei mit Verkaufsdaten hast, kannst du diese mit dem oben beschriebenen Makro automatisch in eine Excel-Datei umwandeln, die du dann für Analysen verwenden kannst.
  • Dat in Excel umwandeln: Egal, ob es sich um einfache CSV- oder komplexere DAT-Dateien handelt, mit dem richtigen Makro kannst du auch DAT-Dateien in Excel umwandeln.

Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Füge diesen Befehl am Anfang deines Makros hinzu, um den Bildschirmflimmern zu vermeiden, während das Makro läuft.
  • Teste dein Makro regelmäßig: Bevor du es automatisierst, teste das Makro manuell, um sicherzustellen, dass alles reibungslos funktioniert.
  • Erstelle Backups: Stelle sicher, dass du eine Sicherungskopie deiner Daten hast, bevor du sie mit dem Makro bearbeitest.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Makro bei jedem Start von Excel ausgeführt wird?
Du kannst das Makro im Workbook_Open()-Ereignis speichern, sodass es automatisch ausgeführt wird, wenn die Arbeitsmappe geöffnet wird.

2. Was passiert, wenn ich das Makro nicht manuell starte?
Wenn das Makro nicht manuell oder durch eine geplante Aufgabe gestartet wird, wird die Umwandlung nicht automatisch erfolgen. Du musst sicherstellen, dass eine der beiden Methoden aktiviert ist.

3. Kann ich auch andere Dateiformate umwandeln?
Ja, du kannst den Code anpassen, um andere Formate wie DAT oder XLSX zu unterstützen. Achte darauf, den Dateipfad und das Format entsprechend zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige