excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA 函数/MOD/认知局限性

本文于2023年3月5日首发于本人同名公众号:Excel活学活用,敬请关注!

最近在“研究”Excel VBA,因为工作中遇到一些难题,函数公式已满足不了需求,炒得火热的Python咱也不会,好在对VBA略有知晓。当然,在正式委身于它之前,我也只是会录制个宏什么的......此处省略1万字,这些都不是重点,重点是我想说一件有点搞笑的事,事情是这样的:

我在写凭证打印代码的时候,需要用到一个函数MOD,由来是这么回事:

凭证打印的方法是准备一张Excel表,名称比如叫Print,把格式设置好,然后从数据库查询数据,写到print表中,然后打印。问题是print表的行数是固定的,我这里是6行,就是一张凭证可打印6条分录。那如果凭证超过6条时,怎么办呢?这里就用到MOD函数,循环改变单元格地址,具体我们以后再说。

搞笑的事情来了,我觉得VBA应该有MOD函数,实际上它真的有。但我没有用过,我就按照在Excel表中那样使用它:

然后,我试着用

Application.WorksheetFunction

没有

这可咋整?我必须得用啊,于是,这里大大地发挥了我的“聪明才智",你不是没有吗?我来自己弄一个,于是:

Function myMod(ByVal d As Long, ByVal v As Long) As Long    If d < v Then        myMod = d    ElseIf d = v Then        myMod = 0    Else        myMod = d - Int(d / v) * v    End If End Function

测试一下结果:

感觉还是不错的,得到了我想要的结果,于是就在过程里用了起来:

最近,看到有VBA代码里有用MOD,突然感觉,妈呀,我都干了什么啊?!

于是,在VBA里也测试测试:

......

虽说做了一个无用功,但还是有两点经验可以分享的:

1、如果想用一个函数或功能,多上网搜搜,一般都能得到解决

2、如果不能解决,那么就得自己动手想办法,比如自定义一个函数什么的

3、没有3了,发现问题及时去改正,改代码去喽

本文使用 文章同步助手 同步,于2023年3月5日首发于本人同名公众号:Excel活学活用,敬请关注!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接