永发信息网

请问用公式快,还是用VBA代码快?

答案:4  悬赏:40  手机版
解决时间 2021-04-15 16:55
要分别做2个排序。
第1个排序是:先用手工在AC2:AC500输入LENB公式,求得字符数量(因要按字符数量排序)再用VBA代码完成排序,Range("AA2:AC500").Sort Key1:=Range("AC31"), Key2:=Range("AA31") ,后删除附列。
第2个排序同第1个排序原理一样,先用手工在AF2:AF10000输入公式用&连接符,求得AG与AH连接后所得到的新单元格,再用VBA代码完成排序,,后删除附列。
请问有更好更快的方法吗?如果用代码来完成附列,那么代码应该怎样写,本人对VBA是刚学,现在没有财富值贡献,求求帮个忙, 谢了.谢了。
最佳答案
你即然已经用公式求得字符数了,就选择你的数据区域,按这列排序就行了。为什么还要写代码?如果是写了VBA代码,就不用输入公式了。直接写代码
全部回答
1500 Cells(i, 32) = Cells(i, 31) / Application.WorksheetFunction.CountA(Range("A" & i & ":G" & i)) Next End Sub 这个更快一点: Sub bbb() Dim DataRange As Variant Dim TempArray(1 To 1497, 1 To 1) As Double DataRange = Range("AE4:AE1500").Value For i = 4 To 1500 TempArray(i - 3, 1) = DataRange(i - 3, 1) / Application.WorksheetFunction.CountA(Range("A" & i & ":G" & i)) Next i Range("AF4:AF1500").Value = TempArray End Sub
可以这么理解。EXCEL内置函数本身就是代码,它是微软一代又一代的天才根据普遍应用的需要而写出来的一些计算工具。如果这些工具还不能满足自己的需要,可以利用VBA进行二次开发。 所以公式快还是VBA快,这个问题看怎么说: 第一,如果有可用的函数能够比较方便的解决问题,那就无须写VBA了,你不可能遇到一个问题写一个VBA。 第二,内置函数经过反复测试和完善,肯定是非常专业的,而自己写的VBA可能有漏洞、或者不是最简方案。而且VBA需要编程知识,普通应用者并不一定都能掌握。 第三,内置函数针对常规应用来的,不可能满足所有用户的所有需求。所以针对特殊应用,如果能写出很好的VBA,可能会提高效率,或者解决EXCEL不太容易解决的问题。
主要是看什么公式 有的公式比vba快 一般情况下比公式快 就你10m大小基本全部是公式在工作表,用vba文件体积会大幅度缩小 vba代码相对公式来讲很少 因为公式基本上重复的,每系列单元格计算方法基本一样,但每个单元格都有一个公式,但vba只写一次,用循环就可全部计算完 vba是代码 可以完成公式无法做到的很多事情 如 公式只能在一个单元返回一个值 vba可以一次性算完所有东西
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁可以帮我点亮QQ音信图标
春风轻轻地吹类似句子,对句子, 那时还年少,
白石斋艺术交流中心地址在什么地方,想过去办
请教高手传授WOW屠城经验
Yueer翻译中文是什么意思?
有一部电影讲述了一个男人为了活命躲开追杀逃
1地理该城市12月中旬可能经历的天气系统是冷
视频里第一首背景音乐叫什么名字
农业执法污染标语,互联网十农业的宣传标语
量变和质变的辩证关系?
吉首市湘西奥普集成吊顶专卖店我想知道这个在
怎样使阴痉在不受药物的情况下曾大曾粗?
你们的理想是远大的吗?
梦幻西游怎样刷帮贡才快?
询问不锈钢水龙头
推荐资讯
关于鲁迅的初中语文题!
现在DNF宠物好开吗?
晚上做梦梦见蛇好不好?
东北街旅游咨询中心地址好找么,我有些事要过
金桥大酒店我想知道这个在什么地方
苏州生3胞胎有没有补助????
华朔F80这个笔记本电脑怎么样啊!
淘宝网的“支付宝帐号”是不是要用银行号啊?
从广州到浙江宁波火车站过年前2月6号左右能买
什么样的软件制作表格简单?
怎么让迅雷的下载速度变快
金名珠珠宝地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?