Office 板


LINE

大家好: 不好意思有一个VBA的问题想请教 文件连结:https://bit.ly/3ckveLI 我在Actual工作表中,已经算出1~3999对应的罗马数字以及其字串长度, 而字串长度会介於1~15之间, 我在Results工作表也已经算出字串长度在1~3999的分配状况并以枢纽分析表呈现。 我的疑问是我现在要在Results工作表的a1:b17用vba写出 当我用乱数在Actual的c栏随机挑5000次, 那机率分配会是如何? 目前我写的code可以算出5000次,但只能1~15平均分配, 而原本的Actual c栏1~15的机率分配并非随机, 不知道能不能从Actual c栏挑出5000次, 并产出如图片(a,b栏的样貌。 图: https://imgur.com/o2QNhDy 另外我自己产生的数字都会从a1 b1开始, 但我希望a1, b1是表头, 已经尝试过很多次但都调整失败。 请教一下各位高手了,谢谢! ----- Sent from JPTT on my iPhone --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 142.255.98.214 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1586919570.A.DEA.html
1F:→ soyoso: 储存格a1和b1为表头,写入资料从第二列起的话 04/15 11:13
2F:→ soyoso: Range("a" & display_it)改为Range("a" & display_it + 1) 04/15 11:13
3F:→ soyoso: Range("b" & display_it)亦同 04/15 11:14
4F:→ soyoso: 表头方面再写入"Number"和"VBA"後 listobjects.add格式化 04/15 11:19
5F:→ soyoso: 为表格,要合计showtotals为真true 04/15 11:19
6F:→ passion929: 谢谢 刚刚用display_it+1已经成功让资料从第二列开始 04/15 11:27
7F:→ passion929: 但我在第二行打了Range(“a1”)=“number” 跑的时候 04/15 11:27
8F:→ passion929: 仍然出不来 04/15 11:27
9F:→ passion929: 另外也想请教一下 因为之前没有学过listtoobjects.add 04/15 11:27
10F:→ passion929: 的用法,请问具体是要在哪一部分加入呢 04/15 11:27
11F:→ passion929: 以及Showtotoals=True是要加在哪一个地方呢? 谢谢 04/15 11:27
12F:→ passion929: 另外目前算出来仍然是1-15平均出现共5000次,有可能套 04/15 11:30
13F:→ passion929: 用Actual c栏的次数分配机率吗? 谢谢 04/15 11:30
14F:→ soyoso: 第二行是指?Dim count_of_each_toss(50)下方吗? 04/15 11:33
15F:→ soyoso: 如果加在dim ...和Call clean_a1b17中间的话,就会执行程 04/15 11:33
16F:→ soyoso: 序clean_a1b17,储存格a1的值被清除 04/15 11:34
17F:→ soyoso: 表头要加在Call clean_a1b17的下方 04/15 11:35
18F:→ passion929: 对的 我在sub dice_with_dimension() 下面写了range( 04/15 11:36
19F:→ passion929: “a1”)= “number” 04/15 11:36
20F:→ passion929: 喔喔喔谢谢 突破盲点 我忘记有clean的设定了 04/15 11:37
21F:→ soyoso: listobjects.add和showtotals用法可google,加在回圈结束 04/15 11:39
22F:→ soyoso: 档案来看为next和end sub中间 04/15 11:39
23F:→ soyoso: 用法方面也可以用录制,格式化为表格这个功能 04/15 11:40
24F:→ passion929: 好的 非常感谢你 我再来试试看! 04/15 11:41
25F:→ soyoso: Actual c栏为分配机率是指?1 Length为1,当乱数时取出1次 04/15 11:49
26F:→ soyoso: 後就不会被取出的意思吗? 04/15 11:49
27F:→ soyoso: 如果是的话,1.乱数,2.取出後length减1,3.判断当0时不再 04/15 11:49
28F:→ soyoso: 被取得,以变数暂存(如巨集内变数count_of_each_toss这样 04/15 11:49
29F:→ soyoso: 的方式),或是以储存格暂存都是可以的 04/15 11:49
30F:→ passion929: 我想要用vba做出的次数比例是接近我在result的j栏(根 04/15 12:40
31F:→ passion929: 据actual工作表中1-3999的罗马数字字串算出再count的 04/15 12:40
32F:→ passion929: 结果) 04/15 12:40
33F:→ passion929: 但是必须抽5000次,我的想法是因为actual c栏的1-15是 04/15 12:42
34F:→ passion929: 有某种比例分配的,能不能从这一栏抽5000次再count到r 04/15 12:42
35F:→ passion929: esults的vba制成的表格,这样分配比例就会跟actual很 04/15 12:42
36F:→ passion929: 接近(像图所示一样) 04/15 12:42
37F:→ passion929: 因为1-15并非平均分配 我想这应该是我用randbetween没 04/15 12:43
38F:→ passion929: 办法得出正确答案的原因,但一直查不到应该怎麽写 04/15 12:43
39F:→ passion929: 对了我已经成功在vba设定表头名称 并格式化为表格和加 04/15 12:44
40F:→ passion929: 入合计(用录制的)非常感谢 04/15 12:44
41F:→ passion929: 对了因为是要模拟actual c栏产生的分配结果,应该是取 04/15 12:49
42F:→ passion929: 出不放回 04/15 12:49
43F:→ soyoso: 要做出的次数比例是接近枢纽分析表的话 04/15 13:06
44F:→ soyoso: 那1.先5000乘i2:i16,会取得actual的次数 04/15 13:06
45F:→ soyoso: 2.取整数int,或四舍五入(工作表函数的round),这时总数有 04/15 13:06
46F:→ soyoso: 可能多或少 04/15 13:06
47F:→ soyoso: 3.随机分配给占比前几的,这样比较不会影响占比小的actual 04/15 13:06
48F:→ soyoso: percent 04/15 13:06
49F:→ soyoso: 4.确定1~15的actual的次数後,再来回圈乱数1~15,每次都递 04/15 13:06
50F:→ soyoso: 减1~15的actual次数 04/15 13:06
51F:→ soyoso: 直至0,每当次数0值增加,乱数最大值就会递减,如1的次数 04/15 13:06
52F:→ soyoso: 没有了,乱数会是1~14 04/15 13:06
53F:→ soyoso: 乱数的1~15或1~14要对应的是次数还大於0的值 04/15 13:06
54F:→ passion929: 谢谢你花时间回覆我 真的很感谢 我大概了解设计的逻辑 04/15 13:28
55F:→ passion929: 了 但因为我是vba新手 之前虽然有用excel函数 但vba对 04/15 13:28
56F:→ passion929: 我来说是全新的东西 我再来研究要怎麽把这些思维转成v 04/15 13:28
57F:→ passion929: ba 非常感谢 04/15 13:28
58F:→ soyoso: 或是要用资料分析内的乱数产生器,离散分配,值及机率就以 04/15 13:48
59F:→ soyoso: 枢纽分析表的h2:h16和j2:j16这方面有要连续参照位址,再复 04/15 13:48
60F:→ soyoso: 制到其他储存格,乱数个数5000 04/15 13:48
61F:→ soyoso: 但测试上是否符合要的接近,原po再看看;也可用回圈重覆产 04/15 13:48
62F:→ soyoso: 生出乱数,再判断最符合接近的结果 04/15 13:48
63F:→ soyoso: 最後再以该结果来产生枢纽分析表 04/15 13:48
64F:→ soyoso: 如 https://i.imgur.com/IP88dMO.jpg 这是测试回圈100次下 04/15 13:48
65F:→ soyoso: 的结果 04/15 13:49
66F:→ soyoso: 判断上是以两两相减abs後最小值,当然这只是模拟而已,至 04/15 13:49
67F:→ soyoso: 於最接近的定义为何,原po再自行调整 04/15 13:49
68F:→ soyoso: https://i.imgur.com/cc5rWQP.jpg 04/15 13:49
69F:→ soyoso: 当回圈300次时 https://i.imgur.com/k6C7Y1H.jpg 04/15 13:53
70F:→ passion929: 谢谢你这麽专业又热心 我後来因为还是研究不出来怎麽 04/16 03:45
71F:→ passion929: 写 所以我试着用另一个macro产生5000个乱数在excel某 04/16 03:45
72F:→ passion929: 个地方後 再countif再表格里 也有产生差不多的结果 只 04/16 03:45
73F:→ passion929: 是变成要录好多macro再call进来 目前档案虽然能跑 但 04/16 03:45
74F:→ passion929: 离完美还很远 04/16 03:45
75F:→ passion929: 真的非常感谢你花时间帮我看 这个问题比较复杂 一定花 04/16 03:47
76F:→ passion929: 了你很多时间理解我的表达与测试 04/16 03:47







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP