ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] vba精度问题

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-2 11:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yylucke 发表于 2023-4-2 11:33
因为你那个显示为0.1的单元格不是0.1,而是0.09999999

确实耶,我刚看了下,确实是0.09999999,这个是怎么造成的呀

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-2 11:43 | 显示全部楼层
yylucke 发表于 2023-4-2 11:33
因为你那个显示为0.1的单元格不是0.1,而是0.09999999

我是从matlab复制来的数据,它上面显示0.1,我复制过来就0.0999999了,请问有什么办法能避免这种情况

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-2 11:47 | 显示全部楼层
这个我是从matlab复制过来的,怎么才能复制原来的0.1,而不是0.09999999

TA的精华主题

TA的得分主题

发表于 2023-4-2 11:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
MatLab本身就是数学计算软件,其精度是很高的。
眼睛看到的并非真实的,如同美颜工具。
关键是你需要多高的精度,从而决定了你采用什么方法。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-2 11:59 | 显示全部楼层
zhang许 发表于 2023-4-2 11:47
这个我是从matlab复制过来的,怎么才能复制原来的0.1,而不是0.09999999

所以你就需要对复制过来的数制做数据处理,达到你想要的浮点数精度.要不就得在matlab上设置浮点数精度.

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-2 12:02 | 显示全部楼层
yylucke 发表于 2023-4-2 11:51
MatLab本身就是数学计算软件,其精度是很高的。
眼睛看到的并非真实的,如同美颜工具。
关键是你需要多高 ...

ok,谢谢解答

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-2 12:03 | 显示全部楼层
xunanming 发表于 2023-4-2 11:59
所以你就需要对复制过来的数制做数据处理,达到你想要的浮点数精度.要不就得在matlab上设置浮点数精度.

好吧,谢谢解答

TA的精华主题

TA的得分主题

发表于 2023-4-6 09:23 | 显示全部楼层
xunanming 发表于 2023-4-2 02:34
应该是浮点数精度的问题,你最好将其四舍五入到你需要的位数.

老师您好!
请你帮忙:下面是我录制的宏的内容,单独运行没有问题。
    Sheets("成绩查询").Select
    Range("AA5:AA69").Select
    Selection.Copy '复制文本
    Range("Z5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=F
alse, Transpose:=False '粘贴数值
    Range("Z5").Select
可是我加一个工作表事件,为什么就运行不了?
Private Sub Worksheet_Change(ByVal Target As Range) '工作表触发事件
    Set Myrng = Range("A1")   
    Sheets("成绩查询").Select
    Range("AA5:AA69").Select'老是从这个地方开始卡住了
    Selection.Copy '复制文本
    Range("Z5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False '粘贴数值
    Range("Z5").Select
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 08:17 , Processed in 0.033558 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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