VBA不同文字设置不同颜色和字体,学会这节内容就明白了

Excel工作表中,每个单元格里的内容不同,但是想要每个单元格里的每个字符文本格式也不同,设置起来就有点麻烦了 , 怎么设置呢?
通常方法就是,选中要设置的字符 , 然后在工具栏上找到相应的格式选项 。很简单,但是一项比较无趣的事情 。

VBA不同文字设置不同颜色和字体,学会这节内容就明白了

本节就将这一功能,用VBA代码来解释一下,其工作原理是怎样进行的 。
【VBA不同文字设置不同颜色和字体,学会这节内容就明白了】首先看下图,本示例实现对文本字体、颜色、字号大小进行设置 。根据自己需要可简单修改一下实现一键完成 。
VBA不同文字设置不同颜色和字体,学会这节内容就明白了

实现此功能将应用到一个对象:Characters
Range对象可返回Characters对象
语法:
Characters(Start,Lenght)
Start是字符串开始位置,Lenght是字符串长度 。
如:
Range("A1").Characters(1,3)
直接返回A1单元格内第1个字符到第3个字符的一个Characters对象,假如A1单元格内容为"Jiang Mi" , 那么将返回一个"Jia",当然了,Jia只是这个对象的Text值 。
VBA不同文字设置不同颜色和字体,学会这节内容就明白了

代码:
Private Sub CommandButton1_Click()Dim r As Range, rx As Range, i As IntegerSet rx = Range("B3:B8") '定义单元格区域For Each r In rxi = i1r.Offset(0, 1).Value = https://www.itzhengshu.com/wps/r.Characters.Count'对象数量With r.Characters(1, r.Characters.Count).Font '设置字符格式.Size = 18.Bold = True.Color = QBColor(9)End WithWith r.Characters(i, 1).Text = VBA.UCase(r.Characters(i, 1).Text).Font.Color = RGB(233, 2, 2)End WithNext rEnd Sub
Characters对象有两个方法,一个是Delete,删除,一个是Insert,插入 。
这两个方法都好理解,一个是把对象删除,一个是在对象前面插入字符串 。
使用方法如下代码:
Private Sub CommandButton2_Click()Dim r As RangeSet r = Range("B3:B8") r.Characters(1, r.Characters.Count).DeleteEnd SubPrivate Sub CommandButton3_Click()Dim r As Range, rx As Range, i As IntegerSet rx = Range("B3:B8")For Each r In rxi = i1With r.Characters(1, 1) 'r.Characters.Count).Insert "A"End WithNext rEnd Sub
Characters对象属性主要是Font,因为是字符串操作,所以Font格式的设置就显得特别重要,关于Font属性,可参考以前的一些文章有介绍 。
欢迎关注、收藏
---END---

相关经验推荐