Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Html als Csv speichern

Html als Csv speichern
07.08.2015 16:37:03
Christoph
Hallo
ich nochmal.
Habe folgendes Makro gefunden und angepasst für mich.

Sub ACSVDateinerstellenAusHTML()
Dim csvPfad As String
Dim csvDatei As String
csvPfad = "C:\Users\acer\Desktop\html\TEST\CSV\"     '
Ich brauche aber keinen bestimmten Bereich als Csv Format:
Es kann die ganze Datei als Csv Format gespeichert werden(ohne geöffnet zu werden)
Erhoffe mir das das speichern dann etwas schneller geht.
Jetzt dauert es relativ lang dadurch das er jede html Datei erst öffnet und einen bestimmten Bereich kopiert.
Gruß
Christoph

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Html als Csv speichern
07.08.2015 17:15:50
Michael
Hi Christoph,
wenn die html-Datei bereits "wohlformatiert" ist, etwa wie diese reine Zahlenausgabe von random.org:
https://www.random.org/integers/?num=100&min=1&max=100&col=10&base=10&format=plain&rnd=new
dann reicht eigentlich umbenennen beim Kopieren:
Sub quickshell()
Dim csvPfad As String, htmPfad As String
csvPfad = "C:\Users\acer\Desktop\html\TEST\CSV\"
htmPfad = "C:\Users\acer\Desktop\html\TEST\"
MsgBox Shell("cmd /C " & "copy " & htmPfad & "*.htm* " & csvPfad & "*.csv", vbHide)
End Sub
Die msgbox gibt das Ergebnis der shell aus, das ist in der Regel irgendeine krumme Zahl (z.B. 365), nämlich die Thread-Nr. des Systems. Weiteres in der Hilfe zu Shell.
Schöne Grüße,
Michael

Anzeige
AW: Html als Csv speichern
07.08.2015 17:50:54
Christoph
Leider klappt das nicht ganz so wie es soll.
Hier einmal die HTML Datei
https://www.herber.de/bbs/user/99412.html
Ergebniss soll so aussehen:
https://www.herber.de/bbs/user/99413.txt
Außer das wie gesagt nicht der bestimmte Bereich kopiert werden muss.
Wichtig ist halt auch das die Zahlen nachher im CSV Format als Zahl formatiert sind.
Gruß Christoph

Anzeige
AW: Html als Csv speichern
07.08.2015 21:26:21
Christoph
Hey
Kann niemand helfen?
Gruß
Christoph

HTML-Import - wer anders bitte
09.08.2015 18:59:15
Michael
Hi Christoph,
ich habe mir die Sache nochmal angesehen.
X bietet ja diverse Funktionen, um Daten zu importieren (unter Daten/externe Daten abrufen), aber mit den dort vorhandenen Funktionen konnte ich die lokale htm-Datei aus welchen Gründen auch immer nicht direkt importieren.
Ich stelle die Frage mal wieder auf "offen".
Schöne Grüße,
Michael

Anzeige
wenn keiner mag, dann TAGs auswerten
11.08.2015 01:07:11
Michael
Hallo Christoph,
das war ein hartes Stück Arbeit!
Ich weiß nicht, ob Dir das Ergebnis paßt, derweil die Ausgabe etwas anders aussieht als Deine Vorgabe, aber dafür rennt das Ding um einen Faktor 10 schneller.
Allerdings habe ich es mit X2000 programmiert, aber es sollte nicht groß was drinstecken, was mit 2013 nicht auch funzt.
Die Datei: https://www.herber.de/bbs/user/99476.xls
In der Sub, mit der der Button verknüpft ist, mußt Du bitte die Pfade auf Deine Bedürfnisse anpassen.
Der Code sieht leider reichlich unaufgeräumt auf, aber Du wirst verstehen, daß ich nach x Stunden Arbeit keinen Bock mehr habe, ihn aufzuhübschen bzw. weiter zu optimieren.
Mit einiger Programmiererfahrung wirst Du trotzdem nachvollziehen können, was ich da treibe.
Grundsätzlich möchte ich noch anmerken, daß es sich weder bei Deiner noch bei meiner CSV um eine "echte" CSV-Datei handelt, sondern vielmehr um eine reine Textdatei, die an relativ unvorhersehbaren Stellen Daten enthält.
Man kann sie trotz allem wieder aufdröseln und in eine Übersicht importieren, aber da würde ich es vorziehen, das neue Makro so umzustricken, daß alle Daten einigermaßen geordnet direkt untereinander auf ein Tabellenblatt geschrieben werden: ohne den Umweg über CSVs.
Happy Exceling,
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Html in CSV umwandeln: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine HTML-Datei in eine CSV-Datei umzuwandeln, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zum Menü Entwicklertools. Wenn dieses Menü nicht sichtbar ist, aktiviere es über die Excel-Optionen.

  2. Klicke auf Visual Basic und erstelle ein neues Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub ACSVDateinerstellenAusHTML()
       Dim csvPfad As String
       Dim csvDatei As String
       csvPfad = "C:\Users\acer\Desktop\html\TEST\CSV\"
       ' Hier wird die gesamte HTML-Datei in CSV umgewandelt
       ' Füge hier den Code zum Speichern hinzu
    End Sub
  4. Anpassen des Pfades: Stelle sicher, dass der Pfad zu deinem Zielordner korrekt ist.

  5. Ausführen des Makros: Klicke auf Ausführen, um die Umwandlung zu starten.

Mit diesem Makro kannst du die HTML-Datei direkt in das CSV-Format speichern, ohne sie vorher öffnen zu müssen.


Häufige Fehler und Lösungen

  • Fehler beim Pfad: Überprüfe, ob der angegebene Pfad korrekt ist. Ein falscher Pfad führt dazu, dass die Datei nicht gefunden wird.

  • Inhalt wird nicht richtig umgewandelt: Stelle sicher, dass die HTML-Datei gut formatiert ist. Nicht wohlgeformte HTML-Dateien können Probleme beim Umwandeln verursachen.

  • CSV-Datei wird nicht erstellt: Achte darauf, dass die Datei nicht bereits geöffnet ist, wenn du versuchst, sie zu speichern.


Alternative Methoden

Neben der Verwendung eines VBA-Makros gibt es auch andere Methoden, um HTML in CSV umzuwandeln:

  1. Online-Konverter: Es gibt zahlreiche Online-Tools, die dir helfen können, HTML in CSV umzuwandeln. Suche nach "html to csv converter".

  2. Excel-Funktionen: Du kannst die Daten auch manuell importieren, indem du die Funktion Daten > Externe Daten abrufen > Aus dem Web verwendest. Dies ermöglicht dir, Daten direkt in Excel zu importieren und anschließend als CSV zu speichern.

  3. Texteditor: Wenn es sich um eine einfache HTML-Datei handelt, kannst du die Datei auch in einem Texteditor öffnen und die .html-Erweiterung in .csv umbenennen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du HTML in CSV umwandeln kannst:

  • Beispiel 1: Wenn du eine einfache HTML-Tabelle hast, kannst du mit dem VBA-Makro die gesamte Tabelle in eine CSV-Datei umwandeln, indem du den Bereich in der HTML-Datei angibst.

  • Beispiel 2: Wenn du eine große Anzahl von HTML-Dateien hast, kannst du das Shell-Kommando verwenden, um alle .htm-Dateien in einem bestimmten Ordner in CSV-Dateien zu kopieren.

    Sub quickshell()
       Dim csvPfad As String, htmPfad As String
       csvPfad = "C:\Users\acer\Desktop\html\TEST\CSV\"
       htmPfad = "C:\Users\acer\Desktop\html\TEST\"
       MsgBox Shell("cmd /C " & "copy " & htmPfad & "*.htm* " & csvPfad & "*.csv", vbHide)
    End Sub

Tipps für Profis

  • Automatisierung: Wenn du häufig HTML-Dateien in CSV umwandeln musst, überlege, das Makro so zu optimieren, dass es automatisch durch einen Ordner iteriert und alle Dateien verarbeitet.

  • Datenbereinigung: Stelle sicher, dass deine Daten nach dem Import in Excel bereinigt werden, um sicherzustellen, dass sie korrekt formatiert sind.

  • Backup: Bevor du eine große Anzahl von Dateien umwandelst, mache immer ein Backup deiner Daten, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Zahlen im CSV-Format als Zahl formatiert sind?
Verwende die Funktion CInt() oder CDbl() in deinem VBA-Code, um sicherzustellen, dass die Daten als Zahl interpretiert werden.

2. Was tun, wenn das Makro nicht funktioniert?
Überprüfe die Fehlermeldungen und stelle sicher, dass alle Pfade korrekt sind. Du kannst auch die Excel-Hilfe oder die Community-Foren konsultieren.

3. Kann ich eine HTML-Datei direkt in Excel importieren?
Ja, du kannst die Funktion "Daten > Externe Daten abrufen" verwenden, um Daten direkt aus einer HTML-Datei in Excel zu importieren.

4. Wie kann ich eine htm-Datei in PDF umwandeln?
Du kannst die htm-Datei in einem Webbrowser öffnen und die Funktion "Drucken" verwenden, um als PDF zu speichern. Alternativ gibt es auch spezielle Software, die dies kann.

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