从单元格string中删除HTML标签:excel公式
我有一个数据与Excel表格中的HTML标签,如下所示:
<b>This is test data<br>Nice <div> Go on this is next Cell Very goood <b>.....</b>
所以,基本上我想删除或replace所有的HTML标签与Excel表中的空间。
Replace All
为<*>
模式:
要打开此function,请转到function区Home > Find & Select > Replace...
或者直接按CTRL + H。
使用TRIM
function可以进一步删除多余的空格。 祝你好运!
在Excel中打开VBA(Alt + F11),在右侧项目浏览器中点击项目名称(电子表格名称)。 插入 – >新模块。 将下面的用户定义函数粘贴到模块窗口中。 保存为允许macros的.XLSM。
假设您的数据在单元格A2中,请键入函数'= StripHTML(A2)'。 你也可以在这里下载一个工作示例:
http://jfrancisconsulting.com/how-to-strip-html-tags-in-excel/
Function StripHTML(cell As Range) As String Dim RegEx As Object Set RegEx = CreateObject(“vbscript.regexp”) Dim sInput As String Dim sOut As String sInput = cell.Text sInput = Replace(sInput, “\x0D\x0A”, Chr(10)) sInput = Replace(sInput, “\x00″, Chr(10)) 'replace HTML breaks and end of paragraphs with line breaks sInput = Replace(sInput, “</P>”, Chr(10) & Chr(10)) sInput = Replace(sInput, “<BR>”, Chr(10)) 'replace bullets with dashes sInput = Replace(sInput, “<li>”, “-”) 'add back all of the special characters sInput = Replace(sInput, “–”, “–”) sInput = Replace(sInput, “—”, “—”) sInput = Replace(sInput, “¡”, “¡”) sInput = Replace(sInput, “¿”, “¿”) sInput = Replace(sInput, “"”, “”) sInput = Replace(sInput, ““”, ““”) sInput = Replace(sInput, “””, “””) sInput = Replace(sInput, “”, “'”) sInput = Replace(sInput, “‘”, “'”) sInput = Replace(sInput, “’”, “'”) sInput = Replace(sInput, “«”, “«”) sInput = Replace(sInput, “»”, “»”) sInput = Replace(sInput, “ ”, ” “) sInput = Replace(sInput, “&”, “&”) sInput = Replace(sInput, “¢”, “¢”) sInput = Replace(sInput, “©”, “©”) sInput = Replace(sInput, “÷”, “÷”) sInput = Replace(sInput, “>”, “>”) sInput = Replace(sInput, “<”, “<”) sInput = Replace(sInput, “µ”, “µ”) sInput = Replace(sInput, “·”, “·”) sInput = Replace(sInput, “¶”, “¶”) sInput = Replace(sInput, “±”, “±”) sInput = Replace(sInput, “€”, “€”) sInput = Replace(sInput, “£”, “£”) sInput = Replace(sInput, “®”, “®”) sInput = Replace(sInput, “§”, “§”) sInput = Replace(sInput, “™”, “™”) sInput = Replace(sInput, “¥”, “¥”) sInput = Replace(sInput, “á”, “á”) sInput = Replace(sInput, “Á”, “Á”) sInput = Replace(sInput, “à”, “à”) sInput = Replace(sInput, “À”, “À”) sInput = Replace(sInput, “â”, “â”) sInput = Replace(sInput, “”, “”) sInput = Replace(sInput, “å”, “å”) sInput = Replace(sInput, “Å”, “Å”) sInput = Replace(sInput, “ã”, “ã”) sInput = Replace(sInput, “Ô, “Ô) sInput = Replace(sInput, “ä”, “ä”) sInput = Replace(sInput, “Ä”, “Ä”) sInput = Replace(sInput, “æ”, “æ”) sInput = Replace(sInput, “Æ”, “Æ”) sInput = Replace(sInput, “ç”, “ç”) sInput = Replace(sInput, “Ç”, “Ç”) sInput = Replace(sInput, “é”, “é”) sInput = Replace(sInput, “É”, “É”) sInput = Replace(sInput, “è”, “è”) sInput = Replace(sInput, “È”, “È”) sInput = Replace(sInput, “ê”, “ê”) sInput = Replace(sInput, “Ê”, “Ê”) sInput = Replace(sInput, “ë”, “ë”) sInput = Replace(sInput, “Ë”, “Ë”) sInput = Replace(sInput, “í”, “í”) sInput = Replace(sInput, “Í”, “Í”) sInput = Replace(sInput, “ì”, “ì”) sInput = Replace(sInput, “Ì”, “Ì”) sInput = Replace(sInput, “î”, “î”) sInput = Replace(sInput, “Δ, “Δ) sInput = Replace(sInput, “ï”, “ï”) sInput = Replace(sInput, “Ï”, “Ï”) sInput = Replace(sInput, “ñ”, “ñ”) sInput = Replace(sInput, “Ñ”, “Ñ”) sInput = Replace(sInput, “ó”, “ó”) sInput = Replace(sInput, “Ó”, “Ó”) sInput = Replace(sInput, “ò”, “ò”) sInput = Replace(sInput, “Ò”, “Ò”) sInput = Replace(sInput, “ô”, “ô”) sInput = Replace(sInput, “Ô”, “Ô”) sInput = Replace(sInput, “ø”, “ø”) sInput = Replace(sInput, “Ø”, “Ø”) sInput = Replace(sInput, “õ”, “õ”) sInput = Replace(sInput, “Õ”, “Õ”) sInput = Replace(sInput, “ö”, “ö”) sInput = Replace(sInput, “Ö”, “Ö”) sInput = Replace(sInput, “ß”, “ß”) sInput = Replace(sInput, “ú”, “ú”) sInput = Replace(sInput, “Ú”, “Ú”) sInput = Replace(sInput, “ù”, “ù”) sInput = Replace(sInput, “Ù”, “Ù”) sInput = Replace(sInput, “û”, “û”) sInput = Replace(sInput, “Û”, “Û”) sInput = Replace(sInput, “ü”, “ü”) sInput = Replace(sInput, “Ü”, “Ü”) sInput = Replace(sInput, “ÿ”, “ÿ”) sInput = Replace(sInput, “”, “´”) sInput = Replace(sInput, “”, “`”) 'replace all the remaining HTML Tags With RegEx .Global = True .IgnoreCase = True .MultiLine = True .Pattern = “<[^>]+>” 'Regular Expression for HTML Tags. End With sOut = RegEx.Replace(sInput, “”) StripHTML = sOut Set RegEx = Nothing End Function
由于上面的macros没有为我工作,我自己修复它。 这是我的第一个脚本,如果你们可以改进它,让它更快,添加更多,那么你更欢迎!
好吧,我以前没有经验的编程(除了一些非常基本的Java 6年前),但有一些帮助,很多猜测(实际上是几个小时),我设法做出这个脚本,它的作品像一个魅力, 8#文本,但不能用换行符代替<BR>
(你可以通过按CTRL + H来做到这一点,“find:”“”replace:(现在按住ALT键并在NUMPAD中使用0010型)应该在replace窗口中闪烁,然后点击“全部replace”)。
将下面的代码粘贴到用户模块中(alt + f11,右键单击Sheet1-> insert-> Module-> paste代码)
通过文件 – >选项 – >自定义function区 – >检查开发人员checkbox。 然后转到开发工具栏 – >插入 – >button – >然后放置button并右键单击 – >分配macros – >select删除标签。
Sub RemoveTags() Dim r As Range Selection.NumberFormat = "@" 'set cells to text numberformat With CreateObject("vbscript.regexp") .Pattern = "\<.*?\>" .Global = True For Each r In Selection r.Value = Replace(.Replace(r.Value, ""), "’", " ") r.Value2 = Replace(.Replace(r.Value2, ""), "–", " ") Next r For Each r In Selection r.Value = Replace(.Replace(r.Value, ""), "‘", " ") r.Value2 = Replace(.Replace(r.Value2, ""), "
", " ") Next r For Each r In Selection r.Value = Replace(.Replace(r.Value, ""), "
", " ") r.Value2 = Replace(.Replace(r.Value2, ""), "’s", " ") Next r End With End Sub Private Sub CommandButton1_Click() End Sub