如何用vba批量替换excel工作表文本框中的内容?

在excel中,要批量替换单元格的内容,可以直接使用【查找替换】功能,如下图所示

 

 

可以批量将单元格中的【张三】替换为【李四】。

 

但是,如果要查找替换的内容在excel的文本框中,用上述方法就行不通了。

 

如下图所示,工作表名称”Sheet1″里面,有很多文本框。

 

 

要把文本框内的内容【张三】替换为【李四】,代码可以这样写:


 

运行上述代码以后,所有文本框中的张三就都变成李四了,如下所示

 

在Excel中所有的图片、图形、形状等都属于Shape对象。

 

针对不同的种类,Shape对象的Type属性可以识别。

 

在这里通过Shape对象的Type属性等于 msoTextBox来过滤所有的文本框对象。

 

通过这个例子,不仅可以遍历所有文本框,还可以遍历所有其它的图层对象。

 

如果要将选中的多个工作表中的文本框批量替换,代码会略有不同,可以参考下文:

如何用vba批量将选中的多个工作表文本框中的文本替换为其它文本?

       

发表评论