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

Forumthread: Excel Zellen Text in HTML konvertieren

Excel Zellen Text in HTML konvertieren
29.10.2014 13:17:32
Andreas
Hallo Herr Herber,
zuerst einmal: Gratulation für dieses Forum.
Ich bin noch Laie in Sachen Excel und VBA. Zu dem angegebenen Problem habe ich hier bedingt etwas gefunden, was aber viel zu komplex und nicht ganz passend ist. Daher hoffe ich, dass Sie mir hierbei schnell helfen können.
Ich habe eine Zelle (z.B. B2) mit Text (Courier 12Pkt, manches Fett, etc):
• Text 1
• Text 2
• Text 3
• Text 4
Diesen möchte ich einfach in HTML Text umwandeln. Mit Aufzählungszeichen, Formatierung, Absatz, etc.
Also so z.B:

  • Text 1

  • Text 1

  • Text 1

  • Text 1

Am besten, den Text direkt in der selben Zelle umwandeln.
Bis jetzt habe ich folgendes:

Sub test()
Dim arrText, strText$, i%
arrText = Split(Range("A2"), Chr(10))
For i = LBound(arrText) To UBound(arrText)
If arrText(i) = "" Then
strText = strText & Chr(10)
Else
strText = strText & "
  • " & arrText(i) & "
  • " & Chr(10) End If Next i Range("A2") = strText End Sub

    Da bekomme ich aber nur eine Formatierung in den Text (also
  • )
    Vielen, vielen Dank für ihre Hilfe.
    Grüße
    Andreas

  • Anzeige

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    29.10.2014 13:21:56
    selli
    hallo andreas,
    http://de.selfhtml.org/
    hier findest du umfangreiche erklärungen was die syntax in html angeht.
    mal durchwurschteln.
    gruß
    selli

    AW: Excel Zellen Text in HTML konvertieren
    29.10.2014 13:35:51
    Andreas
    Hi,
    danke aber das hilft mir nicht weiter. ul, li, br, b usw. kenne ich. Es scheitert bei dem VBA Makro, da ich nicht Programmieren kann. Das Makro habe ich aus dem Web. Kopiert und in Excel eingesetzt. Mehr war leider nicht drin.
    Diesen Text:
    • Text 1
    • Text 2
    • Text 3
    • Text 4
    hätte ich gerne durch das Ausführen von einem Makro so:
    Text Courier 12Pkt
    Als Aufzählung
    Textabsatz
    Mit Umbruch
    Fett
    Bitte bitte HILFE

    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    29.10.2014 15:29:49
    selli
    hallo andreas,
    der code erzeugt eine html datei auf laufwerk c mit deinen texten, die in "Tabelle1" spalte a gelistet sind.
    <pre>Sub erstellen()
    Dim c As Range
    Dim objHL As Hyperlink
    Dim strHTMLFile As String
    Dim strHead As String, strFoot As String, strTmp As String, strTxt As String
    strHTMLFile = "D:\text.html"
    strHead = "<html><head><title>Texte -Table-</title></head><a></a>"
    strHead = strHead & "<style type=""text/css"">table { border-spacing:0px;font-family:Courier; } td"
    strHead = strHead & " { font-size:12px; } </style><table>"
    strFoot = "</table></html>"
    Open strHTMLFile For Output As #1
    Print #1, strHead
    For a = 1 To Sheets("Tabelle1").Cells(Sheets("Tabelle1").Rows.Count, 1).End(xlUp).Row
    strTxt = Sheets("Tabelle1").Cells(a, 1).Text
    strTmp = "<tr><td><li></li></td><td><b>" & "</b></td><td><a>" & strTxt & "</a></td></tr>"
    Print #1, strTmp
    Print #1, "<tr><td><a> </a></td></tr>"
    Next a
    Print #1, strFoot
    Close #1
    End Sub</pre>
    (die klammern und pre zu beginn und am ende des code musst du rausnehmen)
    gruß
    selli

    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    29.10.2014 15:57:32
    Andreas
    Hallo Selli,
    wow. super. Ich wünschte ich könnte das was du kannst. Danke schon mal.
    Aber... ich brauche die konvertierte Zelle in der selben Excel Datei. Nicht als HTML-File. Also Zelle A2 mit Text markieren und durch auslösen des Makros in der selben Zelle A2 den Text als HTML ausgeben.
    :-)

    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    29.10.2014 16:26:31
    selli
    hallo andreas,
    das schreibe ich jetzt nicht um, da die html als tabelle aufgebaut ist und im kopf die formatierung hinterlegt ist.
    ein einfacher ansatz nur für den text:
    <pre>Sub erstellen2()
    Dim strTxt As String
    For a = 1 To Sheets("Tabelle1").Cells(Sheets("Tabelle1").Rows.Count, 1).End(xlUp).Row
    strTxt = Sheets("Tabelle1").Cells(a, 1).Text
    Sheets("Tabelle1").Cells(a, 2) = "<li></li><a>" & strTxt & "</a>"
    Next a
    End Sub</pre>
    gruß
    selli

    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    31.10.2014 10:20:25
    Andreas
    Hallo Selli,
    ich habe jetzt folgenden Code:
    
    Sub test()
    With Cells.Font
    .Name = "Calibri"
    .Size = 12
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    .Bold = False
    End With
    Dim arrText, strText$, i%
    arrText = Split(Range("A2"), Chr(10))
    For i = LBound(arrText) To UBound(arrText)
    If arrText(i) = "" Then
    strText = strText & Chr(10)
    Else
    strText = strText & "
  • " & arrText(i) & "
  • " & Chr(10) End If Next i Range("A2") = strText End Sub
    Das funktioniert auch. Aber:
    Ich bekomme es nicht hin, das er mir z.B. A2 bis A50 konvertiert. ("A2:A50") funktioniert leider nicht. Hast du dafür eine Idee? Am besten wäre es sogar, das ich die zu konvertierende Zelle im Excelblatt einfach per Mausklick auswählen könnte.
    Danke

    Anzeige
    AW: Excel Zellen Text in HTML konvertieren
    04.11.2014 08:20:42
    Andreas
    Kann mir da keiner weiter helfen? Bitte

    Dafür gibt's mindestens 3 FertigTools im Netz, ...
    29.10.2014 15:46:47
    Luc:-?
    …die du runterladen kannst, Andreas,
    und die mehr leisten als dein Programmchen, wenn auch nicht alles. Ansonsten solltest du schon pgmmieren können, sonst wird's noch schwerer, wenn nicht gar unmöglich…
    Gruß, Luc :-?
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Infobox / Tutorial

    Excel Zellen Text in HTML konvertieren


    Schritt-für-Schritt-Anleitung

    Um Text in einer Excel-Zelle in HTML umzuwandeln, kannst du ein einfaches VBA-Makro nutzen. 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 (deineDatei.xlsx)“ > Einfügen > Modul.

    3. Kopiere und füge den folgenden Code ein:

      Sub textInHTML()
         Dim arrText As Variant
         Dim strText As String
         Dim i As Integer
      
         ' Text in A2 aufteilen
         arrText = Split(Range("A2").Value, Chr(10))
      
         ' HTML formatierte Liste erstellen
         For i = LBound(arrText) To UBound(arrText)
             If arrText(i) <> "" Then
                 strText = strText & "<li>" & arrText(i) & "</li>" & vbCrLf
             End If
         Next i
      
         ' HTML in A2 zurückgeben
         Range("A2").Value = "<ul>" & vbCrLf & strText & "</ul>"
      End Sub
    4. Schließe den VBA-Editor und kehre zu Excel zurück.

    5. Führe das Makro aus: Drücke ALT + F8, wähle textInHTML aus und klicke auf Ausführen.

    Jetzt wird der Text in Zelle A2 in HTML umgewandelt!


    Häufige Fehler und Lösungen

    1. Fehler: Das Makro funktioniert nicht
      Lösung: Stelle sicher, dass die Entwickleroptionen in Excel aktiviert sind und du die Makros zulässt.

    2. Fehler: Ungültige HTML-Ausgabe
      Lösung: Überprüfe den Text in der Zelle. Wenn er unerwartete Zeichen enthält, kann dies die HTML-Formatierung stören.

    3. Fehler: Die Zelle bleibt leer
      Lösung: Stelle sicher, dass in der Zelle tatsächlich Text vorhanden ist und dass das richtige Trennzeichen verwendet wird (z.B. Chr(10) für Zeilenumbrüche).


    Alternative Methoden

    Falls du VBA nicht verwenden möchtest, kannst du auch Excel-Formeln nutzen, um einfache HTML-Tags zu erstellen. Eine Möglichkeit ist, die Funktion TEXTVERKETTEN oder VERKETTEN zu nutzen:

    =VERKETTEN("<li>", A2, "</li>")

    Du kannst diese Formel für jede Zelle in deiner Liste anpassen, um HTML-Listen zu erstellen.


    Praktische Beispiele

    Angenommen, du hast folgende Werte in Zelle A2:

    Text 1
    Text 2
    Text 3

    Nach der Ausführung des Makros wird der Inhalt von Zelle A2 folgendermaßen aussehen:

    <ul>
    <li>Text 1</li>
    <li>Text 2</li>
    <li>Text 3</li>
    </ul>

    Du kannst diesen HTML-Code direkt in eine Webseite einfügen.


    Tipps für Profis

    • HTML-Funktionen erweitern: Du kannst das Makro anpassen, um auch andere HTML-Elemente wie <b>, <i> usw. einzufügen.

    • Dynamische Zellenauswahl: Erweitere das Makro, um die aktive Zelle auszuwählen, anstatt immer A2 zu verwenden.

      Dim rng As Range
      Set rng = Selection
    • Sichere deine Daten: Bevor du Makros ausführst, erstelle eine Sicherungskopie deiner Excel-Datei, um Datenverlust zu vermeiden.


    FAQ: Häufige Fragen

    1. Wie kann ich mehrere Zellen auf einmal konvertieren?
    Du kannst eine Schleife im VBA-Code hinzufügen, um mehrere Zellen zu durchlaufen, z.B. von A2 bis A50.

    2. Kann ich das Makro auch für andere Formate verwenden?
    Ja, das Makro kann leicht angepasst werden, um andere Textformate in HTML umzuwandeln.

    3. Was ist der Unterschied zwischen HTML und plain text?
    HTML enthält Formatierungen und Strukturen, während plain text keine Formatierungen hat. Du kannst Excel verwenden, um HTML in Text umzuwandeln, indem du die Formatierungen entfernst.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige