`

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)
    Next
End 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

相关推荐

    EXCEL-VBA常用语句300句

    ### EXCEL-VBA常用语句解析 #### 一、定制模块行为 1. **Option Explicit**:这条语句用于强制要求在模块内的所有变量都必须显式声明。这对于避免潜在的错误非常有用,因为未声明的变量可能会导致难以追踪的问题。...

    Excel+VBA+300语句集

    ### Excel VBA 300语句集概览与详细解释 #### 1. 定制模块行为 ##### (1) `Option Explicit` - **作用**:强制要求在使用任何变量之前必须先声明该变量。 - **应用场景**:提高代码的可读性和减少错误。 ##### (2...

    Excel-VBA宏编程实例源代码-文本与图形的操作-会员资料.zip

    VBA宏语言编程是Excel高级应用的一部分,通过编写宏,我们可以实现对文本和图形的自动化处理,从而提高工作效率。以下是对“Excel-VBA宏编程实例源代码-文本与图形的操作-会员资料.zip”中可能包含的知识点的详细...

    Excel VBA 299个实用语句

    ### Excel VBA 299个实用语句详解 #### 1. 强制变量声明 (Option Explicit) **语句**: `Option Explicit` **功能**: 此语句用于强制要求在模块内的所有变量都必须先声明后使用。这有助于减少由于未定义变量而引发...

    Excel百宝箱 9.0 破解版 批量导入图片等200种功能

    Excel百宝箱 9.0 破解版 批量导入图片等200种功能 Excel2007 Excel百宝箱2012是强大的制表插件,当安装百宝箱后,如果您使用Excel 2003,则将产生【百宝箱】菜单,包括100多个子菜单;如果您使用Excel 2007或者2010...

    Excel百宝箱8.0

    【生成系统图标】【获取内置命令】【修复Excel】【破解VBA密码】【删除空单元格】【转置选区】【按列倒置】【按列倒置】【字母大小写转换】【小写金额转大写】【大写金额转小写】【区域数据加密】【多区域复制】【按...

    Excel百宝箱9.0无限制破解版.rar

    【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 【取数字】:提取混合字符串中的数字 【去数字】:删除混合字符串中的数字 【取带点数字】:...

    Excel插件,合并表格,汇总表格,合并报表,合并单元格自适应调整行高,批量删除工作表,单位转换等功能

    打印调整:合并单元格自适应:选中区域,可自动调整区域中合并单元格的大小以自适应文本。 调整行高:可在原来的基础上加减一定的行高,可避免自动调整行高后,打印时文字压线。 汇总: 汇总本表数据:选中本表...

    Excel百宝箱

    【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 【取数字】:提取混合字符串中的数字 【去数字】:删除混合字符串中的数字 【取带点数字】:提取混合...

    VBA常用.docx

    ### VBA操作Excel知识点详解 #### 一、VBA编程基础 **1. Option Explicit** - **作用**:强制在模块内对所有变量进行显式声明。 - **用途**:提高代码可读性和减少错误。 **2. Option Private Module** - **作用**...

    EXCEL百宝箱8.0终极版

    【字符分离及计算】:批量地对单元格进行文本、数字分离,还可以计算取出的表达式 【删除空单元格】:删除选区的空单元格,后面的数据自动上升 【转置选区】:将选区行列调换 【按列倒置】:将选区的数据横向倒置 ...

    autocad VBA精彩实例开发教程(pdg格式)

    9. **文件操作**:VBA还可以用来读写文本文件和CSV数据,与其他软件如Excel进行数据交换,实现AutoCAD与其他应用程序的集成。 10. **最佳实践**:教程可能还会分享编写高效、可维护VBA代码的技巧和建议,如模块化...

    Excel技术精华文章八篇-共52页

    9. **批量删除空行**:可以使用过滤功能或者定位空值的方法来快速删除工作表中的空行。 10. **避免错误信息**:理解并正确使用错误检查工具,如#DIV/0!、#N/A等错误代码,以及如何修复它们。 11. **宏的应用**:...

    VBA语句集400句

    ### VBA语句集解析与应用 #### 一、模块声明与配置 1. **Option Explicit** - **用途**: 强制要求在模块内的所有变量必须显式声明。 - **作用**: 提高代码可读性和维护性,减少因未定义变量引起的错误。 2. **...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...

    Exce百宝箱——2012版本.rar

    【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 【取数字】:提取混合字符串中的数字 【去数字】:删除混合字符串中的数字 【取带点数字】:提取混合...

    难得的excel教程集珍藏版,简单明了,包你学会.pdf

    它可以批量修改文本中的特定字符或字符串,无论是纠正拼写错误还是统一格式,都能大幅提升工作效率。 #### 宏的编辑与运行:自动化任务的关键 宏是Excel中的一系列命令和函数的集合,用于自动化重复性任务。直接...

    EXCEL秘籍.rar

    在数据分析前,往往需要对原始数据进行清洗,如删除重复项、填充缺失值、转换数据格式等,Excel提供了丰富的工具来完成这些任务。 以上只是Excel众多功能的冰山一角,深入学习并熟练掌握这些秘籍,你将在工作中...

Global site tag (gtag.js) - Google Analytics