ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 个位大大早上好, i 值与 (i-1h) 的值不能正确获取,导致结果计算不正确

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-12-9 03:56 | 显示全部楼层 |阅读模式
本帖最后由 q305309847 于 2023-12-9 23:24 编辑

个位大大早上好,朋友们早上好,最近小弟迷上彩票游戏,想自己统计数据,奈何半路出家,水平着实有限,代码大部分也不是自己写的,

弄了几个小时通过百度chatgpt等给出的建议通过debug方法检查出 i 的值和(i-1,h)的值不正确,导致输出的xx123 判断结果都不正确,
折腾到凌晨无奈发帖求助,还望各位赐教,小弟在这有礼了。

如题,需要判断三种形态  
1邻: i与(i-1,h)不相同,且绝对值为1或者9 ,
2传: i与(i-1,h)其中一个相同。
else
3孤:

微信图片_20231209032738.png




3D 图表.7z

1.24 MB, 下载次数: 6

图表附件

TA的精华主题

TA的得分主题

发表于 2023-12-9 14:18 | 显示全部楼层
看明白了,你的逻辑完全是乱的
m1 = 0: n1 = 0: m2 = 0: n2 = 0: m3 = 0: n3 = 0
     For h = 1 To 3
            If arr(i, 1) = arr(i - 1, h) Then
                m1 = m1 + 1
            Else
               If (Abs(arr(i, 1) - arr(i - 1, h)) = 1 Or Abs(arr(i, 1) - arr(i - 1, h)) = 9) Then
                  n1 = n1 + 1
               End If
            End If
            If arr(i, 2) = arr(i - 1, h) Then
                m2 = m2 + 1
            Else
               If (Abs(arr(i, 2) - arr(i - 1, h)) = 1 Or Abs(arr(i, 2) - arr(i - 1, h)) = 9) Then
                  n2 = n2 + 1
               End If
            End If
            If arr(i, 3) = arr(i - 1, h) Then
                m3 = m3 + 1
            Else
               If (Abs(arr(i, 3) - arr(i - 1, h)) = 1 Or Abs(arr(i, 3) - arr(i - 1, h)) = 9) Then
                  n3 = n3 + 1
               End If
            End If
      Next
      If m1 = 0 Then
         If n1 = 0 Then
            xx1 = "孤"
         Else
            xx1 = "邻"
         End If
      Else
         xx1 = "传"
      End If

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-12-9 13:39 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 19:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dragonthree 发表于 2023-12-9 13:39
1。代码要缩进。2。为什么有三个“If i >= 2 Then”?

不加这一句会报错下标越界。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 19:34 | 显示全部楼层
dragonthree 发表于 2023-12-9 14:18
看明白了,你的逻辑完全是乱的
m1 = 0: n1 = 0: m2 = 0: n2 = 0: m3 = 0: n3 = 0
     For h = 1 To 3

我的代码在对固定的单元格位置判断时而不是对arr(i - 1,h)判断时可以正确判断,比如cells(1,h)  h=1 to 3,
而且我是要判断当前结果  (arr 1 ,1/2/3)分别判断,最后输出的结果为brr(i, 18) = xx1 & xx2 & xx3 ,
现在检测到 i  的值和 i - 1,h  的值都不能正确获取

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 20:15 | 显示全部楼层
dragonthree 发表于 2023-12-9 14:18
看明白了,你的逻辑完全是乱的
m1 = 0: n1 = 0: m2 = 0: n2 = 0: m3 = 0: n3 = 0
     For h = 1 To 3

仔细排列了一下,我的逻辑确实错了,我漏掉了一部分同时存在相等和绝对值为1和9情况,我在检查检查

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 22:58 | 显示全部楼层
dragonthree 发表于 2023-12-9 14:18
看明白了,你的逻辑完全是乱的
m1 = 0: n1 = 0: m2 = 0: n2 = 0: m3 = 0: n3 = 0
     For h = 1 To 3

我明白您的意思了,感谢大哥悉心指导,祝大哥天天开心 ,日进斗金 。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 23:18 | 显示全部楼层
dragonthree 发表于 2023-12-9 13:39
1。代码要缩进。2。为什么有三个“If i >= 2 Then”?

对不起大哥,我已经改了,一个就够了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-9 23:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
q305309847 发表于 2023-12-9 19:19
不加这一句会报错下标越界。

好的大哥,我一定养成缩进代码的好习惯。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 08:02 , Processed in 0.045141 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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