饱和蒸汽的比热容:利用VBA宏代码把Excel单元格中汉字、数字或字母混合数据中的汉字提取出来

来源:百度文库 编辑:偶看新闻 时间:2024/04/25 20:16:16

利用VBA宏代码把Excel单元格汉字、数字或字母混合数据中的汉字提取出来

Excel工作表中的"数据"菜单下有"分列"命令,便于对有规律的数据序列进行分列,但是对于一些没有规律的数据序列则无法进行有效的分割,此时可以考虑利用Excel中的VBA代码来实现。

在如下图所示的工作表中,A列保存有汉字、数字及字母混合在一起的数据,因为汉字的个数是随机的,无法使用Excel中分列命令进行分列,现在要求将A列中数据的汉字部分提取出来放置到B列中,数字及字母部分分离出来放置到C列中,如何操作呢?

第1步 单击"工具→宏→宏"菜单命令,打开"宏"对话框。

第2步 在"宏名"文本框中输入宏的名称"数据分列"。

第3步 单击"创建"按钮,在打开的"Visual Basic编辑器"对话框中输入所示的代码。

Sub 数据分列()

Dim m%,i%,strn$,rn as range,rng as range

Application.screenupdating=false

M=[a65536].end(xlup).row

Set rng=range(“a1:a” & m)

Columns(“b:c”).clearcontents

For each rn in rng

For I=1 to len(rn)

Strn=mid(rn,I,1)

If isnumeric(strn) then

Rn.offset(0,1)=mid(rn,1,i-1)

Rn.offset(0,2)=mid(rn,i)

Exit for

End if

Next i

Next rn

Application.screenupdating=true

End sub

第4步 关闭"Visual Basic编辑器"对话框,在"宏"对话框中单击"执行"按钮。

第5步 执行后的结果如下图所示,即可达到我们需要的结果,轻松方便!

提示:

1、代码经多次测试,结果完全正确,此处只提供代码,对代码不做分析,有兴趣的读者可以自己研究!

2、本宏代码只对汉字+数字+字母格式才能正确把汉字与其它分割开来,如果数字在最后面,只能把前面与后面的数字分割开来,当然有兴趣的朋友可以自己更改代码实现它。