分享

Excel VBA之函数篇-3.20 半角or 全角 数据处理并不难

 Excel和VBA 2021-03-31
场景说明

    可能看见标题的时候,很多的童鞋都是懵逼的状态的,什么全角半角?不太了解吗?看来如果这些童鞋的公司也有这样的要求的话,估计就要遭殃咯,我们来看下右下角的输入法,

普遍常用的就是搜狗输入法和QQ输入法了,其实都是一样的,看看截图中的第二个图标,就是逗号句号的那个

他就是全角半角的开关,现在都是上面的黑点是蓝色的,那就是全角,如果是中间是白色的,那就是半角了,那么对于我们的输入结果有什么影响呢?

看下实际输入效果,这样就很清楚的了吧,这个空格看起来非常的不美观,而且没有办法通过替换空格的方式来替换的,统一替换符号的话,碰到数据量大的时候,分分钟卡到你想哭,so,VBA有什么好方法呢?

函数说明

   其实要讲这个半角/全角的问题统一,某种程度上来说比较困难的,因为大家的输入习惯不同,或者可能偶尔不经意之间就忘记了,也是常有的事情,作为数据录入人员,没有一点统一格式处理能力,似乎有点说不过去,今天就和大家来分享下这个方法,直接通过使用StrConv()函数就可以实现了,StrConv()也算是文字处理的一个函数,来上代码吧。

代码区
Sub test()Dim arrarr = Range("A1:A8")For i = 1 To UBound(arr) arr(i, 1) = StrConv(arr(i, 1), vbWide)Next iRange("C1:C8") = arrEnd Sub

来看看效果,这里的作用是将数据统一转化成为全角的效果

    这就是全角的效果,虽然说不好看(小编是这样认为的),但是有很多的同事都认为这样再核对数据的时候,能够更加的清楚一些,数据不会凑在一起,眼睛不会那么疲劳,

那么再来看看统一转化成为半角的效果

Sub test()Dim arrarr = Range("A1:A8")For i = 1 To UBound(arr) arr(i, 1) = StrConv(arr(i, 1), vbNarrow)Next iRange("C1:C8") = arrEnd Sub

    小编的同事也是分为两派,一方喜欢后者,数据美观,看着舒服,另外一方喜欢前者,数据核对方便,长期看着不会感觉到眼睛酸痛之类的。

    看来针对不同的行业,对于数据格式的要求也是完全不相同的呀,所以还是印证了小编前面说的,想要统一输入格式,确实是非常困难的事情,那么作为后期的数据核对,录入人员就需要具备一定的格式处理的能力,在这方面VBA也有一定的舞台施展拳脚,StrConv()就是其中一员

代码解析

   代码前后都非常的简单,都是关于数组的一些简单的构造的方法,在上一节点额时候,我们也是简单的说了下,这里就不在废话了,StrConv()函数的运用方法,相信大家通过对比前后的两个案例,也是有了一定的了解了,

StrConv(arr(i, 1), vbWide)'全角StrConv(arr(i, 1), vbNarrow)'半角

    基本结构就是StrConv(string,参数)

    其实StrConv()的第二参数有很多种,一般常用的都和英文大小写有关系的,哪些方法我们可以通过其他的字符串函数同样达到效果,我们就专门集中在处理文字的半角和全角的过程中使用方法就好,它并不算是使用频率很高的函数,但是碰到具体的场景的时候,他还是有很大的功能的。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多