Microsoft Excel

Herbers Excel/VBA-Archiv

Suchen und Ersetzen HTML Code

Betrifft: Suchen und Ersetzen HTML Code von: Maris
Geschrieben am: 12.03.2020 14:06:08

Hallo zusammen,

ich möchte einen ziemlich langen String in einer Excel Datei finden und ersetzten. Dieser String besteht aus HTML und enthält Umbrüche. Siehe Beispieltext:

{div class="alert is--error is--rounded"}
{div class="alert--icon""}{!-- Alert message icon --> {i class="icon--element icon--warning">{/ _
i>{/div"}
{div class="alert--content""}Bei diesem Text handelt es sich um ein Beispieltext. Bitte um  _
Hilfe wie dieser ersetzt werden kann. Bin für jede Hilfe dankbar!{/div"}
{/div}
Dieser Code befinde sich in sehr vielen Zellen einer Spalte und ich möchte Ihn durch "" nichts ersetzen. Mit den normalen Excel Boardmitteln geht das nicht.Ich mußte die <> Klammern ändern vom HTML da sonst dieser Post nicht dargestellt werden kann.

Geht das vielleicht über VBA?

Gruß
Maris

Betrifft: AW: Suchen und Ersetzen HTML Code
von: UweD
Geschrieben am: 12.03.2020 15:15:06

Hallo

Schlecht zu testen...

Versuch mal das hier

Durchsucht werden Texte in Spalte A

Sub html_raus()
    Dim TText As String, Z As Variant
    
    TText = "<div class=""alert is--error is--rounded""><div class=""alert--icon""""><!-- Alert message icon --> <i class=""icon--element icon--warning""> </i></div""><div class=""alert--content"""">Bei diesem Text handelt es sich um ein Beispieltext. Bitte um Hilfe wie dieser ersetzt werden kann. Bin für jede Hilfe dankbar!</div""></div>"


    If WorksheetFunction.CountA(Columns(1)) > 0 Then
        For Each Z In Columns(1).SpecialCells(xlCellTypeConstants, 2)
            Z = Replace(Z, TText, "")
        Next
    End If
End Sub

Bei TText musst du genau den gewünschten Text zwischen 2 " reinkopieren.
Dann jedes im Text befindliche " um ein Weiteres ergänzen.

Also steht da
<div class="alert is--error is--rounded">
ändern in
<div class=""alert is--error is--rounded"">


LG UweD

Betrifft: AW: Suchen und Ersetzen HTML Code
von: Maris
Geschrieben am: 12.03.2020 15:36:38

Hallo UweD,

ich weiß nicht ob was falsch mache, aber hier eine Mustermappe mit dem Code.Das HTML ist in Spalte 26 Z der verwendete Code in Y

https://www.herber.de/bbs/user/135805.xls

Gruß
Maris

Betrifft: AW: Suchen und Ersetzen HTML Code
von: Maris
Geschrieben am: 12.03.2020 15:37:28

Konnte leider kein xlsm hochladen deswegen der Code in Spalte Y

Betrifft: AW: Suchen und Ersetzen HTML Code
von: UweD
Geschrieben am: 12.03.2020 16:32:50

Hallo

nimm mal den code hierraus

https://www.herber.de/bbs/user/135806.txt

LG UweD

Betrifft: AW: Suchen und Ersetzen HTML Code
von: Maris
Geschrieben am: 12.03.2020 17:23:20

Also mit diesem Code geht es jetzt im Beispieltext. Bei den echten Texten habe ich auch Umlaute drin, da funktioniert es wiederum nicht. Kann das an den Umlauten liegen?

Betrifft: AW: Suchen und Ersetzen HTML Code
von: UweD
Geschrieben am: 13.03.2020 09:11:33

Hallo nochmal

Ich denke, das Hauptproblem sind die Zeileumbrüche.

Evtl. hilft das ja

- Ich habe ein neues Blatt (Tausch) angelegt
- in Spalte A stehen die zu ersetzenden Texte drin
- Diese Texte werden dann per Schleife abgearbeitet


Sub html_raus()
    Dim Tb As Worksheet, TbI As Worksheet, LR As Integer, TText As String, Z As Variant
    Dim SpI As Integer, Sp As Integer, i As Integer
    
    Set Tb = Sheets("Tabelle2")
    Set TbI = Sheets("Tausch")
    SpI = 1 'Tauschtexte stehen in Spalte A 
    Sp = 26 'Tauschen in Z 
    
    
    LR = TbI.Cells(TbI.Rows.Count, SpI).End(xlUp).Row 'letzte Zeile der Spalte 
    
    If WorksheetFunction.CountA(Columns(Sp)) > 0 Then 'sind überhaupt Texte in der Spalte vorhanden 
        For i = 1 To LR
            TText = TbI.Cells(i, SpI) ' Tauschtext 
        
            For Each Z In Columns(Sp).SpecialCells(xlCellTypeConstants, 2).Cells
                Z.Value = Replace(Z.Value, TText, "")
            Next
        Next
    End If
    
End Sub

LG UweD

Beiträge aus dem Excel-Forum zum Thema "Suchen und Ersetzen HTML Code"