ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 748|回复: 5

[求助] 两个数明明相等,判断语句却不成立

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-1-16 16:12 | 显示全部楼层 |阅读模式
本帖最后由 a54huohuo 于 2020-1-16 16:14 编辑

功能描述:
第三列统计每个人抽500次,抽中多少次。
第五列统计抽中的次数
第六列统计抽中这个次数的人数。
问题:
当“控制比例”的参数(单元格cells(5,1))为0.8时,模块1的代码If Cells(范围, 5) = Cells(统计, 3) Then永远不成立,即使打了断点,看见这两个数确实相等。但“控制比例”的参数(单元格cells(5,1))为0.7/0.6时,就运行正常。

抽卡掉落表.7z

33.73 KB, 下载次数: 1

代码

抽卡掉落表.7z

33.73 KB, 下载次数: 0

TA的精华主题

TA的得分主题

发表于 2020-1-16 17:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-1-16 17:19 | 显示全部楼层
看见这两个数确实相等

在工作表里看见的?还是VBE的本地窗口?

前者看见的只是显示值,不是真实值

后者需考虑 浮点运算 引起的误差

TA的精华主题

TA的得分主题

发表于 2020-1-16 17:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
If Cells(范围, 5) = Cells(统计, 3) Then

改为

If abs(Cells(范围, 5) - Cells(统计, 3)) <0.001 Then

避免 浮点运算误差,  0.001按需求精度更改

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-16 17:26 | 显示全部楼层
yjh_27 发表于 2020-1-16 17:23
If Cells(范围, 5) = Cells(统计, 3) Then

改为

多谢答疑解惑

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-16 17:33 | 显示全部楼层
还有,把double类型改成single类型也就没问题了。可以再答疑一下吗
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-17 06:19 , Processed in 0.039188 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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