ExcelVBA之函数篇322更改单

前景提要

最近在工作的时候,经常碰到不少的同事跑过来让我帮忙看看Excel单元格的格式之类的修饰问题,其实这也算是大家日常工作中比较常见的操作,因为不同的工作环节不同的要求,就算是相同的数据,大家对于展示上面的需求也是不尽相同的,很多人在这个时候就会说,你可以选择Excel右键,然后根据需要更改单元格的格式就可以了。

确实,有一些格式是完全可以通过这里来实现的,但是我如果给你一些这里没有的场景展示需求,你能够用这个功能来实现嘛?

很明显Excel的右键仅仅是展示了几个常用的现成的格式,对于一些特殊需求的格式,这里是没有办法实现的,那么小编是如何实现的呢?很简单,用VBA函数

函数说明

说到Excel格式,首选就是format,他是VBA中格式功能最强大的函数,他能够实现很多我们平时无法通过右键实现的需求,比方说让你结算出这个日期是今年的第几周,让你将这个时间用中文星期展示,英文星期展示,你可以嘛?一些常用公式你可能理解,但是不常用的呢?说了那么多,我们还是来学习下format这个函数吧。

场景说明

今天我就将小编日常工作中被人骚扰的问题汇总出来给大家分享下,希望能够帮助到大家日后的一些工作

1.人民币单位

很多的单位在统计数据的时候,都会在总金额的前面加上金额的单位名称,国内通用的当然是人民币了,那么如何实现呢?

Subtest()

Dimi

Fori=6To10

Cells(i,4).Offset(0,1)=Format(Cells(i,4),Currency)

Nexti

EndSub

我们来看看结果,是不是成功的在所有的数字前面都增加了一个人民币的标识,并且后面增加了两位小数点,这样更加的专业,在很多的外资企业做表格的时候经常会有这样的要求

2,不需要增加人民币的标识,但是我想要上面人民币的那样的格式,如何实现呢?

Subtest()

Dimi

Fori=6To10

Cells(i,4).Offset(0,1)=Format(Cells(i,4),Standard)

Nexti

EndSub

来看看效果,是不是非常完美的满足了要求呢?

3.我想要知道这个日期是一周的周几

这个问题肯定难倒了一大篇人,当然不包括小编,哈哈

Subtest()

Dimi

Fori=6To10

Cells(i,4).Offset(0,1)=Format(Cells(i,4),w)-1

Nexti

EndSub

来看看看效果

都是正确的,完美,不过这里小编要强调一点,如果想要转化成为周几的话,这里我们需要注意到后面要-1,为什么呢,因为这里是按照西方的算法的,西方的算法,周日是1,而我们中国人的算法,周一才是1,所以这里我们要-1,才算是符合我们中国人自己的星期习惯,这点在使用的时候要留意哦。

4.一年的第几周

这也是头疼的问题你你要说算这是第几季度的话,我还可以通过月份来判断,你要算第几周,真的是为难我了,当然小编就一点都不为难。

Subtest()

Dimi

Fori=6To12

Cells(i,4).Offset(0,1)=Format(Cells(i,4),ww)-1

Nexti

EndSub

来看看效果,为了能够更好的验证效果,我们增加两个日期,1-1和1-7,看看结果。

1-1是0,那就是说判断的方法是从0开始的,并不是从1开始的,那个1-7就是今年的第二周,结果的第一周,大家在使用的时候,也可以选择上面一个案例一样的方法,通过在结尾+1的方式来得到最终的结果,这是通过前后两个对比,让大家能够更加清楚的理解这一点。



转载请注明:http://www.abuoumao.com/hyfz/4759.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: 冀ICP备19029570号-7