编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

如何将A列单元格内容分单元格逐一显示呢?

wxchong 2024-08-03 03:06:43 开源技术 29 ℃ 0 评论

1、 题目:

如下图所示,如何将A列单元格内容分单元格逐一显示呢?

2、 解题思路

首先分析A列单元格内容,发现他们具有如下特点:

1. 每个单元格内容均以空格分割开来,但是字符之间没有进行换行操作,也就是说他们处在同一行,这样的话就不能用\S(大写)进行拆分。

2. 单元格内容包括:汉字、空格、大写字母、数字,说明这是一个混杂字

符串,拆分的时候需要用到中文和数字字母元字符。

3、 VBE窗口

4、 代码分享

Sub 拆分单元格中的内容3()

Dim regx As Object, rng As Range, mat, k, n%

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True

.Pattern = "\S+"

For Each rng In [a1:a6]

Set mat = .Execute(rng)

For Each k In mat

n = n + 1

Cells(rng.Row, n + 2).Value = k

Next

n = 0

Next

End With

End Sub

5、 总结

这里设置了三种Pattern模式属性,他们达到了同样的效果,但是需要注意以下几点:

(1). [\u4e00-\u9fat]=[一-龢],代表中文字符,必须带[]。

(2). 第三种模式\S(大写)后面的量词下限不得超过3不得小于0,若大于3会漏选,如下图:

上限不要限制,比如使用?则会出现注意分散显示的情况,如下图:

这两种结果都不是我们多需要的。

(3). 本题解答中我们使用了嵌套循环,注意结尾处next语句的前后顺序,

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表