Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用vba-Excel删除多个输入_Excel_Vba_Ms Access - Fatal编程技术网

使用vba-Excel删除多个输入

使用vba-Excel删除多个输入,excel,vba,ms-access,Excel,Vba,Ms Access,这个问题被问了很多次,可能是相同的,但我还没有找到解决这个问题的特别方法 我有ms access数据库,有些字段带有“长文本”“文本格式”富文本” 我在Excel中创建了一个宏,它使用这个数据库并从这些字段中获取值。在excel中获取值后,它会显示带有Html标记的字符串 我正在使用从复制的以下函数。这是很好的删除所有标签,但它给我的输出如下 功能开始前: <div>xxxxxxx ccccccccd eeerr sdff aerderfng</div> <div

这个问题被问了很多次,可能是相同的,但我还没有找到解决这个问题的特别方法

我有ms access数据库,有些字段带有“
长文本”
“文本格式”
富文本”

我在Excel中创建了一个宏,它使用这个数据库并从这些字段中获取值。在excel中获取值后,它会显示带有Html标记的字符串

我正在使用从复制的以下函数。这是很好的删除所有标签,但它给我的输出如下

功能开始前:

<div>xxxxxxx ccccccccd eeerr sdff aerderfng</div>

<div>&nbsp;</div>

<div>xxxxxx rrrrrr</div>

<div>-&gt; V.tredf</div>
我想从最终输出中删除这些额外的换行符或输入。我正在努力解决这个问题

我想要的是这样的

"xxxxxxx ccccccccd eeerr sdff aerderfng
xxxxxx rrrrrr
-> V.tredf"

只需将替换字符加倍,例如,多次,最后只剩下一个换行符

Replace(sInput, vbNewLine & vbNewLine, vbNewLine)
Replace(sInput, Chr(13) & Chr(13), Chr(13))
Replace(sInput, Chr(10) & Chr(10), Chr(10))
Replace(sInput, Chr(10) & Chr(13) & Chr(10) &Chr(13), Chr(10) & Chr(13))
Replace(sInput, Chr(13) & Chr(10) & Chr(13) & Chr(10), Chr(13) & Chr(10))

您可以使用下面的
RegEx
来删除所有此类字符。采用它来满足您的需求

Public Sub RemoveBlankNewLineChar()
    Dim rgEx As Object
    Set rgEx = CreateObject("VBScript.RegExp")
    With rgEx
        .Global = True
        .MultiLine = True
        .Pattern = "\n+"
        ' Adjust Selection part with suitable Excel Range References.
        Selection.Value = .Replace(Selection.Value, vbCrLf)
    End With
End Sub

您想要的是Excel单元格中的字符串,还是连续的三行?我没有时间来查看“函数”,根据链接的代码,请考虑使用<代码> SnPUT=替换(SnPurt,VB-NeWLLY,“”)SnPUT=替换(SnPutt,CHR(10),“”)SnPUT=替换(SnPutt,CHR(13),“”)等等。3行输出表示如上所述的一个单元格example@barneyos我试过这个,它会把一根绳子连在一起。在代码
中不输入任何内容,替换HTML换行符和段落结尾换行符sInput=replace(sInput,

”,Chr(10)和Chr(10))sInput=replace(sInput,
”,Chr(10))
添加新行。也许不用它试试。
Public Sub RemoveBlankNewLineChar()
    Dim rgEx As Object
    Set rgEx = CreateObject("VBScript.RegExp")
    With rgEx
        .Global = True
        .MultiLine = True
        .Pattern = "\n+"
        ' Adjust Selection part with suitable Excel Range References.
        Selection.Value = .Replace(Selection.Value, vbCrLf)
    End With
End Sub