Excel 如何将字段中的「中文」或「英文数字」进行分散对齐?

今天来分享一个超实用的  Excel 教程,就是有关于「分散对齐」这功能,不过很多人都知道,「中文字」要分散对齐非常的简单,因为字符属性的关系,中文每个字都是被认定拆开的,但英文数字就不同了,只要中间没有空格都不算,因此你在网络上不论怎么找,只看的到中文的分散对齐,没看过有人讲英文数字分散对齐到字位的,今天我们就来各别分享一下, 中文和英数各别要怎么做才能达成分散对齐的需求。

Excel 教程 – 字段文字分散对齐教程

先给大家看一下这是原本的内容,至于为什么要用到分散对齐,有时就是为了美观,比如像想要制作字卡等需求,英文数字也会想要分散对齐,我们一个一个来。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 01

首先是中文字的分散对齐,非常简单,选取范围 > 右键「单元格格式」。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 02

在对齐方式这里的「水平」选择「分散对齐」。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 03

然后就可以看到中文字的部份自动对齐字段宽度了。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 04

那英文也可以一样的做法吗? 用一样的做法后会发现只有头的英文单字被分散了,下面的英文单字闻风不动的跟你大眼瞪小眼,这是因为英文字母字跟字就是靠空格隔开的,那么,我们就通过「空格」这个思维来通过 VBA 试试。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 05

首先,要使用 VBA 要先开启开发人员的菜单,如果你还没打开的,要进到文件。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 06

点撃「选项」(在最左下角)。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 07

然后在自定义功能区这里,把开发人员加到右侧去。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 08

接下来就有开发人员页签了,点撃后再开启 Visual Basic,再选择你要执行的工作表,然后在右侧贴上以下 VBA 程序,并执行,其中的 E2:E11 记得要改成自己的范围。

Sub AddSpacesBetweenLettersAndNumbers()
Dim cell As Range
Dim word As String
Dim i As Integer
Dim result As String

‘ 遍历范围中的每个单元格
For Each cell In Range(“E2:E11”)
‘ 将单元格的值转换为字符串
word = CStr(cell. Value)

‘ 初始化结果字符串
result = “”

‘ 将单词的每个字母逐个添加到结果字符串中,并在字母和数字之间添加空格
For i = 1 To Len(word)
‘ 检查是否为字母或数字,如果是就在后面加上空格,否则保留原字符
If (Asc(Mid(word, i, 1)) >= 65 And Asc(Mid(word, i, 1)) <= 122) Or _
(Asc(Mid(word, i, 1)) >= 48 And Asc(Mid(word, i, 1)) <= 57) Then
result = result & Mid(word, i, 1) & “ ”
Else
result = result & Mid(word, i, 1)
End If
Next i

‘ 将结果字符串填入单元格,去除最后多余的空格
cell. Value = Trim(result)
Next cell
End Sub

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 09

执行后就会看到英数也分散对齐啰,这个做法的原理并不是真的通过 VBA 将文字分散对齐,我这做法只是在选取范围中的英文及数字之间通通加上空格,强制让他们分开,就能使用  Excel 内置的分散对齐功能啰。

Excel 教程 - 如何将字段中的「中文」或「英文数字」进行分散对齐? 10
(0)
摩榜哥摩榜哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注