吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6602|回复: 37
上一主题 下一主题
收起左侧

[其他转载] 用Excel+Vba,做了一个简单的命理类小工具

   关闭 [复制链接]
跳转到指定楼层
楼主
user999 发表于 2022-4-11 18:28 回帖奖励
大家好,我是一个编程的初学者。疫情期间,已经被隔离30天了。怕人呆费了。一直在努力学习,充电。
今天,在这里分享一个小程序。
是用Excel+Vba实现的6个硬币算命。
------
先说下,这个算命的流程:
就是虔诚的先想个由头,然后扔六次硬币,按照组合不同,有一套解卦的说辞。跟周易一样,出卦随机,解挂固定。以前吃这碗饭的,基础就是你得把解挂背下来,不能临时去翻书。
这个程序,就是把这个事情自动化。

这个是出卦以后的页面情况。暂时还没考虑美化UI这个事。文件附件有。有好奇的可以自己改。
一共两种出卦方式。一种是扔一次硬币,自己根据具体情形鼠标点一下对应按钮,
一种是自动出6次随机挂,用三角按钮。
重置功能是字面意思。
说下咋实现的:
一,对应解挂的那套说辞,提前在sheet1里面,用excel的数据→分列,分成了5列,然后分别显示出来,就是右边的那个样子。
然后右边的内容很简单,使用的就是VLOOKUP。根据左侧A3~F3这一行,对应的数字,如果是正面,数字是1,反面就是0.最终组合成的六位,去sheet1里找答案。
这里面我把A3~F3使用excel的&命令,放在一个单元格了。
左侧所有按钮,除了清除,其他按钮都做了防呆检测,就是当前有卦的时候,直接按正反和自动是无效的。必须先清除。后起新卦。
其实严格来说,这个事情,除了弹出来的提示窗以外,都可以直接就用EXCEL的函数搞定。
对应起卦的VBA程序如下:
自动起6卦:
[Visual Basic] 纯文本查看 复制代码
Sub auto()

    Dim x As Integer
    
        If Len(Sheet2.Range("f3")) <> 0 Then
        
            MsgBox ("先清除,后起新卦")
            Exit Sub
        
        End If
        
        With Sheet2
        
            .Cells(4, 1).Value = Application.WorksheetFunction.RandBetween(0, 1)
            .Cells(4, 2).Value = Application.WorksheetFunction.RandBetween(0, 1)
            .Cells(4, 3).Value = Application.WorksheetFunction.RandBetween(0, 1)
            .Cells(4, 4).Value = Application.WorksheetFunction.RandBetween(0, 1)
            .Cells(4, 5).Value = Application.WorksheetFunction.RandBetween(0, 1)
            .Cells(4, 6).Value = Application.WorksheetFunction.RandBetween(0, 1)
            For x = 1 To 6
                If .Cells(4, x).Value = 1 Then
                    .Cells(3, x) = "O"
                    Else
                        .Cells(3, x) = "X" 
                End If
            Next
        End With
End Sub

单独起卦:
[Visual Basic] 纯文本查看 复制代码
Sub &#213;y()

Dim i

With Sheet2
i = .Cells(3, Columns.Count).End(xlToLeft).Column + 1

If Len(.Range("f3")) <> 0 Then
    MsgBox ("请清除以后,起新卦")
        Exit Sub
End If

If Len(.Range("a3")) = 0 And Len(.Range("f3")) = 0 Then
    .Range("a3").Value = "O"
        .Range("a4").Value = 1
    Else
        .Cells(3, i) = "O"
            .Cells(4, i) = 1
            
End If

End With

End Sub

自动化神棍系统1.0.rar

38.27 KB, 下载次数: 272, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
lzy9022 + 1 + 1 谢谢@Thanks!
pojiez5 + 1 + 1 我很赞同!
说说吧 + 1 + 1 热心回复!
cherrypi + 1 + 1 热心回复!
hf123qwe + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| user999 发表于 2022-4-12 10:17 |楼主
wangyihao 发表于 2022-4-11 21:31
六爻卦,下载下来看看

~厉害直接说这是六爻卦。

我是看了一个人的文章以后,做的这个工具。
那个爻是正起,反查。

他文章里说的意思是:
比如起卦顺序是  正正正正正反。
         111110
去找解卦的时候,实际看的是  反正正正正正。
               011111

我这里也是按他这个规矩弄的。不知道是对是错。
因为当时文章下就有人说还有正起正查的。

所以,如果你需要修改顺序,在C14单元格,
里面原函数是: =F4&E4&D4&C4&B4&A4
把顺序 弄成 =A4&B4&C4&D4&E4&F4
就是按照起卦顺序去找答案。
C14单元格我玩了个小套路,其实是有字的,我把字体颜色弄成白色,就看不出来了。
推荐
wangyihao 发表于 2022-4-16 10:33
本帖最后由 wangyihao 于 2022-4-16 10:37 编辑
user999 发表于 2022-4-12 10:17
~厉害直接说这是六爻卦。

我是看了一个人的文章以后,做的这个工具。

谢谢!我看了一下,是按你这个顺序排的,自右往左排的,这个方法几乎不用,准确率不知是怎样的,就当娱乐吧,只是我觉得,硬币反面为阳爻,画O,硬币正面为阴爻,画X,要不有些卦就对不上了;比如按先后顺序,3个反面,1个正面,1个反面,1个正面,我就用XOXOOO来表示,这与用3个硬币摇卦的方法就一致了,为水天需卦,我一般习惯用3个硬币摇的那种方法,有时会有变爻出来,能反映出发展的情况。这里也有参考的(http://www.360doc.com/content/15/1227/14/18142477_523447136.shtml),这里也就直接是从右往左排的,然后从左往右去查看的
沙发
qqpoly 发表于 2022-4-11 19:42
3#
jipinfeche 发表于 2022-4-11 20:22
楼主实乃自强不息之人
4#
hf123qwe 发表于 2022-4-11 20:35
这个还是不错的
5#
cherrypi 发表于 2022-4-11 20:41
娱乐一下很不错的,谢谢分享。
头像被屏蔽
6#
xiadongming 发表于 2022-4-11 20:48
提示: 作者被禁止或删除 内容自动屏蔽
7#
潇洒浪子 发表于 2022-4-11 20:57
本帖最后由 潇洒浪子 于 2022-4-11 21:00 编辑

能打开使用了  谢谢楼主!!
8#
zr2019 发表于 2022-4-11 21:17
下载了,谢谢楼主分享
9#
桥段 发表于 2022-4-11 21:23
自动化干掉了算卦的人
10#
wangyihao 发表于 2022-4-11 21:31
六爻卦,下载下来看看
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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