You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Word表格复制数据到Excel时如何提取纯数值(去除特殊字符)

解决Word表格数据末尾带Chr(7)和Chr(13)的问题

要提取Word表格里的纯数值,核心是清理Range.Text返回的额外非打印字符——Word表格单元格的文本默认会带上Chr(13)+Chr(7)的单元格结束标记,这就是你看到的多余字符来源。

给你两种直接修改代码的方案:


方案1:批量替换目标字符

用Replace函数嵌套,直接清空不需要的字符,不管它们出现的顺序或次数:

修改获取数据的行:

HoldValues(irow - 1) = Replace(Replace(d.Tables(2).Cell(irow, WordCol(j)).Range.Text, Chr(7), ""), Chr(13), "")

适合单元格内容可能意外包含这些字符的场景,兼容性更强。


方案2:截断固定末尾结束符

因为Word单元格的Range.Text末尾固定是Chr(13)+Chr(7)两个字符,也可以直接截取前面的有效内容:

Dim cellText As String
cellText = d.Tables(2).Cell(irow, WordCol(j)).Range.Text
HoldValues(irow - 1) = Left(cellText, Len(cellText) - 2)

这种方式效率更高,适合确定单元格是纯数值、没有换行的场景。


修改后的完整代码片段参考:

With d.Tables(2)
    For j = 4 To 7
        ReDim HoldValues(NumQuest(j))
        Offset = 0
        For irow = 2 To NumQuest(j) + 1
            ' 替换为上面任意一种方案即可
            HoldValues(irow - 1) = Replace(Replace(.Cell(irow, WordCol(j)).Range.Text, Chr(7), ""), Chr(13), "")
            ws.Cells(PasteLocn(j) + Offset, chooseColumn) = HoldValues(irow - 1)
            Offset = Offset + 1
        Next irow
    Next j
End With

内容的提问来源于stack exchange,提问作者PLL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:56:01