ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 133|回复: 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 | 显示全部楼层
If Cells(范围, 5) = Cells(统计, 3) Then

改为

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

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

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

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

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2020-4-4 21:01 , Processed in 0.074544 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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