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

Export als html und xls

Forumthread: Export als html und xls

Export als html und xls
23.01.2019 16:52:34
Tino
Ich habe folgendes Problem und bekomme es einfach nicht hin,
Tabelle soll als html und xls über Makro auf einem Server gespeichert werden.
in der Tabelle steht in der Zelle D1 das Datum im Format TT.MM.JJJJ.
Die .html sowie das .xls Datei sollte das Datumsformat JJJJMMTT.html und JJJMMTT.xls
haben und in verschiedenen Verzeichnissen gespeichert werden.
\\Server\html
\\Server\xls
Folgendes habe ich bereits erreicht jedoch funktioniert nur die html als fester Wert und das mit dem Datum auslesen aus der Zelle schaffe ich überhaupt nicht, geschweige denn das gemeinsame abspeichern. :-(
Hier mein Code bisher.

Sub Exporthtml()
With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, _
Filename:="\\Server\Dokumente\Heizöl\Test.htm", Sheet:="Tabelle1", Source:="$A$1:$I$18", _
HtmlType:=xlHtmlStatic, DivID:="Tabelle1")
.Publish (True)
End With
End Sub

Vielleicht kann mir da jemand unter die Arme greifen?
Vielen Dank.
Tino
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Export als html und xls
23.01.2019 17:41:18
Nepumuk
Hallo Tino,
teste mal:
Option Explicit

Public Sub Exporthtml()
    With ThisWorkbook.PublishObjects
        Call .Add(SourceType:=xlSourceRange, Filename:="\\Server\Dokumente\Heizöl\" & _
            Format$(Worksheets("Tabelle1").Range("D1").Value, "yyyymmdd") & ".htm", _
            Sheet:="Tabelle1", Source:="$A$1:$I$18", HtmlType:=xlHtmlStatic, _
            DivID:="Tabelle1").Publish(Create:=True)
    End With
End Sub

Public Sub Exportxls()
    Application.ScreenUpdating = False
    Call Worksheets("Tabelle1").Copy
    With ActiveWorkbook
        Call .SaveAs(Filename:="\\Server\Dokumente\Heizöl\" & _
            Format$(Worksheets("Tabelle1").Range("D1").Value, "yyyymmdd") & _
            ".xls", FileFormat:=xlExcel8)
        Call .Close(SaveChanges:=False)
    End With
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Daten als HTML und XLS exportieren


Schritt-für-Schritt-Anleitung

Um Deine Excel-Daten als HTML und XLS zu exportieren, kannst Du ein VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeinDateiname)" klickst und "Einfügen" > "Modul" wählst.
  3. Kopiere den folgenden VBA-Code in das Modul:
Option Explicit

Public Sub Exporthtml()
    With ThisWorkbook.PublishObjects
        Call .Add(SourceType:=xlSourceRange, Filename:= _
        "\\Server\Dokumente\Heizöl\" & Format$(Worksheets("Tabelle1").Range("D1").Value, "yyyymmdd") & ".htm", _
        Sheet:="Tabelle1", Source:="$A$1:$I$18", HtmlType:=xlHtmlStatic, _
        DivID:="Tabelle1").Publish(Create:=True)
    End With
End Sub

Public Sub Exportxls()
    Application.ScreenUpdating = False
    Call Worksheets("Tabelle1").Copy
    With ActiveWorkbook
        Call .SaveAs(Filename:= _
        "\\Server\Dokumente\Heizöl\" & Format$(Worksheets("Tabelle1").Range("D1").Value, "yyyymmdd") & ".xls", FileFormat:=xlExcel8)
        Call .Close(SaveChanges:=False)
    End With
    Application.ScreenUpdating = True
End Sub
  1. Ändere den Dateipfad nach Bedarf.
  2. Schließe den VBA-Editor und kehre zu Excel zurück.
  3. Führe das Makro aus, um die HTML- und XLS-Dateien zu erstellen.

Häufige Fehler und Lösungen

  • Fehler: "Dateipfad nicht gefunden"

    • Überprüfe, ob der angegebene Pfad korrekt ist und die Ordner existieren.
  • Fehler: "Objekt nicht gefunden"

    • Stelle sicher, dass die Tabelle den Namen "Tabelle1" hat und sich die Zelle D1 im richtigen Format befindet.
  • Fehler: "Speichern nicht möglich"

    • Überprüfe die Schreibrechte auf dem Serververzeichnis.

Alternative Methoden

Neben VBA kannst Du auch die folgenden Methoden verwenden:

  • Manueller Export: Du kannst die Daten manuell als HTML speichern, indem Du "Datei" > "Speichern unter" wählst und das Format "Webseite (.htm; .html)" auswählst.
  • Power Query: Verwende Power Query, um Daten aus Excel in andere Formate zu exportieren, allerdings ist dies meist auf die Datenanalyse beschränkt.

Praktische Beispiele

Hier sind einige Beispiele, wie Du die oben genannten VBA-Makros anpassen kannst:

  • Exportieren mit unterschiedlichen Dateinamen: Wenn Du das Datum im Dateinamen anpassen möchtest, ändere die Formatierung in Format$(Now(), "yyyymmdd"), um das aktuelle Datum zu verwenden.
  • Ändern des Speicherorts: Ändere den Pfad in der Filename-Zeile, um die Dateien in einem anderen Verzeichnis zu speichern.

Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen in Deinem VBA-Code, um Probleme beim Export zu identifizieren und zu beheben.
  • Experimentiere mit dem HtmlType-Parameter, um unterschiedliche HTML-Typen zu exportieren, z.B. xlHtmlChart für Diagramme.
  • Um die Performance zu verbessern, kannst Du das Application.ScreenUpdating = False am Anfang setzen und wieder aktivieren, um Flackern zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den exportierten HTML-Code anpassen? Der exportierte HTML-Code ist standardisiert. Um Anpassungen vorzunehmen, musst Du den HTML-Code nach dem Export manuell bearbeiten.

2. Ist der Export von Daten in HTML und XLS auch in Excel Online möglich? Der direkte Export über VBA ist in Excel Online nicht möglich. Du kannst jedoch Daten manuell exportieren oder in Excel für Desktop verwenden.

3. Kann ich andere Dateiformate wie CSV exportieren? Ja, Du kannst das SaveAs-Format in Deinem VBA-Code anpassen, um auch CSV-Dateien zu erstellen. Verwende dazu FileFormat:=xlCSV.

4. Welche Excel-Version benötige ich für diese Funktionen? Diese VBA-Funktionen sind in Excel 2010 und höheren Versionen verfügbar.

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