英文字母也能“自动格式”

数字办公

徐文凤:在Excel中输入的中文是默认的字体和字号,但输入的英文字母却不是自己想要的格式,比如字母输入就是9号加粗的斜体。

为了让英文字母变成工作需要的格式,每次我都是用格式刷一个单词一个单词地刷,这样不但枯燥无味而且还容易遗漏。请问《电脑报》的专家,Excel可不可以让字母也能自动变为自己想要的格式呢?

办公专家陈邓新:由于单元格没有Keypress事件,所以输入字母的同时是不能实现自动格式的。但我们可以变通一下,让Excel在完成录入后对当前单元格进行逐个字符的检查,如果含有英文字母,则将字母变成指定的格式。

按组合键“Alt+F11”打开VBA编辑器,在当前工作簿的Change事件编写代码(下载地址:http://download.cpcw.com),其中关键代码解释如下:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim strValue As String

Dim i As Integer

循环测试单元格中的字符(循环次数为字符的长度)

For i = 1 To Len(Target)

从单元格中取一个字符

strValue = VBA.Mid(Target, i, 1)

判断它是否为大写或小写的字母

If strValue Like “[A-Z a-z]” Then

With Target.Characters(Start:=i, Length:=1).Font

此处可修改为自己需要的英文格式

.FontStyle = “倾斜”         字体为倾斜

.Size = 12             字号为12磅

.Bold = True               加粗

代码编写完成后返回到当前的工作表中,以后只要用户输入的数据中含有英文字母,按回车后,系统会自动将英文字母设置为用户指定的格式(见图),而中文和数字保持原来的格式不变,这样用户最初想要实现的功能也就达到了。

15-f14-2-1.jpg