大数跨境
0
0

VBA到底有没有必要声明变量的类型?两个例子告诉你答案

VBA到底有没有必要声明变量的类型?两个例子告诉你答案 数据分析就用Excel
2019-09-15
0
导读:终于做了这个决定别人怎么说我不理只要你也一样的肯定1,对于VBA初学者而言,关于变量声明的事儿,入门VBA时


终于做了这个决定

别人怎么说我不理

只要你也一样的肯定


1,

对于VBA初学者而言,关于变量声明的事儿,入门VBA时往往会得到两个方向截然相反的建议。一个是,VBA变量声明不重要,完全不用声明VBA变量类型。另外一个是,VBA变量类型很重要,必须严格的细致的声明每一个变量的类型。

第1种建议迎合了人们偷懒的心理,能躺着谁也不愿意站着不是?而且将偷懒说的那么清丽脱俗,甚至义正言辞,简直不偷懒都是愚不可及——所以通常第1种建议更受欢迎。

那么星光我的看法呢?这个问题嘛……哈哈哈……嘿嘿嘿……这个问题……你开心就好了。你想声明就声明,不想声明那就算了嘛。反正咱俩谁跟谁啊——都不认识。

打……打个响指,悄悄的说,其实我的看法是,变量类型当然是要声明的,Excel是一头对输入的数据类型要求很宽松,但对计算的数据类型又要求很严格的……软件,如果不声明变量的类型,很多时候你怎么被数据害死的自个都不知道。我这不是在吓唬你,我曾经死过,不止一次,啊呸!我的意思是,我曾经被代码坑死过……

很快我就会给你见两个很常见的小栗子,说明声明变量类型的必要性和重要性。但在那之前,有句话还是得先说一下,我同样也不支持严格按照各种陈旧的图书所说的那样,把变量类型区分的那么细那么多……

我不是在和稀泥,我在和面准备包月饼馅饺子,接受预定喔……

依京京对胡歌脉脉含情的目光看来,对于绝大部分人而言,VBA变量最常用的只有4种类型。字符串string,整数long,日期date,其它都是变体variant。很久以前就和大家说过一句话,对于现在的电脑而言,integer无论是适用性还是运算效率,都不如long,完全可以忘记它的存在……

如果你连这四种变量类型都没耐心声明或者区分清楚……还玩个锤子?罗永浩都不玩锤子了吉布吉岛?赶紧听一首梁静茹的勇气,然后掀桌子散伙吧。



2,


前面咱们说了一句话,Excel是一头对输入的数据类型要求很宽松,但对计算的数据类型又要求的很严格的……软件。

对输入数据类型要求很宽松,这是众所周知的,一列之中,你既可以输入文本,也可以输入数值、逻辑值、错误值,更糟糕的是,即便是数字,它也既可能是数值型,也可能是文本型,模糊不定。

对计算的数据类型又要求的很严格。不管是函数,还是VBA,又或者PowerQuery,都一向如此。文本就是文本,数值就是数值,文本型数字和数值型数值往往有不同的计算方式,两者并不相等——这也没什么好说的,宽进严出嘛,美国名牌大学都这样,轻轻撇撇嘴,深沉回忆大学青春……梦幻西游、大话西游、魔兽世界、好像还有奇迹?传奇?没有传奇!绝对不能有传奇!!……

SOSOSO——在VBA中,如果你不能通过数据源去强制规范别人输入数据类型的正确性(事实上,在Excel中这也是不可能实现的),就只能通过声明变量类型来修正和测验。

这句话具体而言是什么意思?

……做两个练手题,你也就明白了。

如下图所示。

题1),将A列指定的工作表名称修改为B列,比如将10086修改为拨打无效。

题2),判断E列数据是否存在于D列,并计算出现次数,正确结果如G列。比如10086出现了两次。

这两道常见的看似简单的练手题做完了,都不用我废话,你自然也就意识到声明变量类型的意义和重要性了。

再见!

练手文件下载:https://pan.baidu.com/s/1vseEEJaSlvoJMVJSpq0e7Q

提取码:wjpv

QQ交流群:422292348


《VBA经典代码应用大全》

当当、天猫、京东均有销售~

戳「阅读原文」立见详情

【声明】内容源于网络
0
0
数据分析就用Excel
Excel易用宝专属公众号,分享Excel操作技巧、函数、公式、透视表、图表、VBA及Power BI教程,助您轻松提高办公效率,搞定数据分析!
内容 855
粉丝 0
数据分析就用Excel Excel易用宝专属公众号,分享Excel操作技巧、函数、公式、透视表、图表、VBA及Power BI教程,助您轻松提高办公效率,搞定数据分析!
总阅读0
粉丝0
内容855