精进ExcelVBA分享专栏简友广场

Excel VBA之函数篇-3.20 半角or 全角

2021-02-05  本文已影响0人  Excel和VBA

前景提要

之前和大家分享了一些关于数据处理的过程中一些常用的知识和方法,也是得到了大家的积极响应,在此小编非常感谢大家的支持,今后小编会继续努力,争取为大家送上更多有用的案例和知识。

今天我们要分享的是另外一个方面的知识,因为今天小编的公司发生了一件鸡毛蒜皮的小事而引起的争执,小编公司有一个同事是负责数据汇总的,主要是将日常生产中,各环节产生的每日生产明细全部汇总起来交给老板查看,既然是交给老板看到,那个格式方面肯定是有很多的要求的,所以他也是经常向各组长传达格式方面的要求,但是大家都知道,手工输入一百个人绝对有一个好几种不同的输入方法,要想统一是非常的困难的,这不,今天他就在对着某部分的同事开火了,原来这个部分的同事都喜欢在数据输入的时候,选择全角输入,而领导的要求是半角输入,所以他不得不一个一个的去将全角的输入数据全部换成半角的,修改起来非常的麻烦,所以才会在这里大发脾气,but,这件事情真的有那么难吗?

函数说明

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

场景说明

可能看见标题的时候,很多的童鞋都是懵逼的状态的,什么全角半角?不太了解吗?看来如果这些童鞋的公司也有这样的要求的话,估计就要遭殃咯,我们来看下右下角的输入法,普遍常用的就是搜狗输入法和QQ输入法了,其实都是一样的,看看截图中的第二个图标,就是逗号句号的那个

image.png

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

image.png

看下实际输入效果,这样就很清楚的了吧,也应该能够明白小编的哪位同事为何会发脾气了吧,这个空格看起来非常的不美观,而且没有办法通过替换空格的方式来替换的,统一替换符号的话,碰到数据量大的时候,分分钟卡到你想哭,so,VBA有什么好方法呢?

很见到通过我们的StrConv()就可以了,同时用上我们上一节分享的数组的使用方法来应对大数据的情况,相信此类问题分分钟都可以解决了。

代码区

Sub test()

Dim arr

arr = Range("A1:A8")

For i = 1 To UBound(arr)

    arr(i, 1) = StrConv(arr(i, 1), vbWide)

Next i

Range("C1:C8") = arr

End Sub

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

image.png

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

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

Sub test()

Dim arr

arr = Range("A1:A8")

For i = 1 To UBound(arr)

    arr(i, 1) = StrConv(arr(i, 1), vbNarrow)

Next i

Range("C1:C8") = arr

End Sub
image.png

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

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

代码解析

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读