首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

Excel VBA: 批量剔除带删除线的文本

2012-11-18 
Excel VBA: 批量删除带删除线的文本需求的故事是这样的....在开发过程中, 我们会使用excel写各式各样的文

Excel VBA: 批量删除带删除线的文本

需求的故事是这样的....

在开发过程中, 我们会使用excel写各式各样的文档, 通常这些文档都是从一个Base修改而来的.

为了便于其他人review, 在做成这些文档的时候, 作成者会使用不同的颜色标记出我们所修改的内容.

当然我们也会使用删除线标记出产出的内容.

由此而来的问题便是, 在最终版的时候, 我们需要将这些被标记为删除线的部分, 真的从我们这里删除.

在理想的情况下, 一个单元格, 要么全是删除的内容, 要么全是保留的内容, 这样的话, 对付这些删除线是很方便的.

然而现实并非如此, 在上千个单元格中, 通常是部分被删除, 部分被保留, 部分被修改.

?

于是, 这个vba脚本的功能便是:

将选择区域中, 标记为删除线的文本, 批量删掉.

?

在下面的这个连接上, 找到了这段代码.

Need to remove text with strikethrough - Excel 2007

转帖如下:

Sub RemoveStrikeThruText()    Dim X As Long    Dim C As Range    For Each C In Selection        For X = Len(C.Value) To 1 Step -1            If C.Characters(X, 1).Font.Strikethrough Then                C.Characters(X, 1).Delete            End If        Next        C.Value = Application.WorksheetFunction.Trim(C.Value)    NextEnd Sub

?

说明

1. trim的那行代码, 可以不要, 他会合并多余的空格.

2. "单元格的格式有删除线, 但是单元格的内容是由公式计算而来", 这种情况脚本会报错,

??? 也许将公式过滤掉是个不错的主意, 但我目前使用这种错误提示我:"注意, 我们还有一个Sheet中, 还有一处有删除线."

?

?

下面的连接是类似的内容.

Macro to find and delete strikethrough
Need to remove text with strikethrough - Excel 2007
Finding strikethrough text and deleting

?

?

?

?

1 楼 wjason 2011-01-18   判断Excel单元格中格式
http://blog.csdn.net/iwteih/archive/2009/06/09/4254812.aspx

怎样在Excel中筛选加粗的文字?
http://www.excel123.cn/Article/exceljichu/201009/734.html

热点排行