excel vba Range对象的Characters属性无效的解决办法

在excel vba中Range对象的Characters属性可以返回Characters对象。

Characters对象可以操作单个单元格中的部分字符,比如通过Characters对象的Font属性可以设置单元格中部分字符的字体格式,比如添加下划线、加粗、加颜色等等。

再比如通过Characters对象的Text属性可以返回部分字符,并且替换部分字符。

比如以下代码将A1单元格中的部分字符替换为指定的字符:

以上代码当单元格的字符长度是<256时,代码可以正常运行,当当单元格的字符长度是>=256时,用Characters对象的Text属性只能返回指定位置的字符,不能再设置指定位置的字符为其它字符,这是一个BUG。

为了解决这个问题,可以通过调用excel工作表函数Replace来替代Characters对象的Text属性,代码如下:





       

发表评论