ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 13782671637

[求助] 为C列自定义函数的代码运算提速

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 17:20 | 显示全部楼层
zopey 发表于 2018-6-15 17:15
Sub 按钮1_Click()
Columns("d:d").ClearContents
Dim arr, k0, brr(), crr(), drr(), frr()

老师:如图:当修改A6以下单元格内容时,出现错误。 20180615171850.png

TA的精华主题

TA的得分主题

发表于 2018-6-15 17:22 | 显示全部楼层
个人理解:
1、十位 、个位 是分开去找 不同码的 ,不需要绑定在一个单元格,
2、历史数据 按行倒推 逐个分析,
3、函数参数 为数组 速度未知 ,不如直接用 sub 执行。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 17:24 | 显示全部楼层
zopey 发表于 2018-6-15 17:22
个人理解:
1、十位 、个位 是分开去找 不同码的 ,不需要绑定在一个单元格,
2、历史数据 按行倒推 逐个 ...

不明白怎么出现41楼的错误?

TA的精华主题

TA的得分主题

发表于 2018-6-15 17:31 | 显示全部楼层
13782671637 发表于 2018-6-15 17:24
不明白怎么出现41楼的错误?

If brr(i, 1) <> "" OR brr(i, 2) <> "" Then

上面这句 修改如下

If brr(i, 1) <> "" And brr(i, 2) <> "" Then

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 17:39 | 显示全部楼层
zopey 发表于 2018-6-15 17:31
If brr(i, 1)  "" OR brr(i, 2)  "" Then

上面这句 修改如下

谢谢老师:这次完全正确了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 17:56 | 显示全部楼层
本帖最后由 13782671637 于 2018-6-15 18:01 编辑
冷码分析.zip (865.16 KB, 下载次数: 0) zopey 发表于 2018-6-15 17:31
If brr(i, 1)  "" OR brr(i, 2)  "" Then

上面这句 修改如下

以蓝填充按钮“冷码”确定公式所在列,B列为数据源1,E列为数据源2,我想在蓝色按钮所在的G列【按钮可以在数据源右边的任意列】,G1为指定需要计算的数据源,如果G1输入B,计算B列的冷码;如果G1输入E,则计算E列的冷码。那么,又该怎样修改代码?
20180615174421.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 18:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zopey 发表于 2018-6-15 17:31
If brr(i, 1)  "" OR brr(i, 2)  "" Then

上面这句 修改如下

冷码分析.zip (865.16 KB, 下载次数: 0)

TA的精华主题

TA的得分主题

发表于 2018-6-15 18:24 | 显示全部楼层
被你 “=3-十位第一个数-十位第二个数&3-个位第一个数-个位第二个数” 的 规则 误导了:
去求 k1=2, k2=2的  对应的数字   再用 3 减。

更好的思路是 :求  k1=3, k2=3 对应的 数字,然后直接出 冷码。

至于 完善代码 ,你看懂了 再看着自己 改吧。


TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 18:29 | 显示全部楼层
zopey 发表于 2018-6-15 18:24
被你 “=3-十位第一个数-十位第二个数&3-个位第一个数-个位第二个数” 的 规则 误导了:
去求 k1=2, k2=2 ...

真是对不起!纯属我语言表达能力有限。还望老师不吝赐教,给予帮忙为盼!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-15 20:12 | 显示全部楼层
zopey 发表于 2018-6-15 18:24
被你 “=3-十位第一个数-十位第二个数&3-个位第一个数-个位第二个数” 的 规则 误导了:
去求 k1=2, k2=2 ...

老师:我原先一直是应用函数公式来着,只是今年春天开始,觉得函数公式对于一些复杂的统计计算,要么速度慢,要么无能为力,才转向VBA;直到现在,只能算是站在门槛前,逐步体会到了VBA的强大和无所不能!但限于初学,绝大多数语法都不会,还请老师忙里偷闲,帮忙完善代码则个。学生叩谢之至!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 05:28 , Processed in 0.042170 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表