山东威锻机械设备有限公司 校直机、四柱液压机一站式供应商

技术文章

当前位置 : 技术文章 >
用excel编自动计算校直机挂轮的公式
时间: 2019-12-10    作者:admin 点击: ( 3618 ) 次

问题补充:从已有的齿轮库中选取4个合适的齿轮abcd,并使a/b*c/d=传动比。例如:传动比0.43678,挂轮库中有28、29、30------110等齿数的齿轮,要从中选取4个,且a/b*c/d=0.43678....


推荐回答:110个组合4,然后逐个计算(A/B)*(c/d)万能的vba可以实现代码如下:
PrivateSubCommandButton1_Click()DimsArr(1To1837620,1To4)AsInteger,SJSAsLongDimjgArr(1To1000,1To4)AsInteger,jgJsAsIntegerDimXLaRR(1To83)AsInteger,SZAsDoubleConstCDB=0.43678ForI=1To83XLaRR(I)=28+I-1NextISJS=0ForI=1To83-3ForJ=I+1To83-2ForK=J+1To83-1ForL=K+1To83SJS=SJS+1sArr(SJS,1)=XLaRR(I)sArr(SJS,2)=XLaRR(J)sArr(SJS,3)=XLaRR(K)sArr(SJS,4)=XLaRR(L)NextLNextKNextJNextI'计算jgJs=0ForM=1ToSJSSZ=sArr(M,1)/sArr(M,2)*(sArr(M,3)/sArr(M,4))IfAbs(CDB-SZ)<=0.0001thenjgjs=jgjs+1jgarr(jgjs,1)=sarr(m,1)jgarr(jgjs,2)=sarr(m,2)jgarr(jgjs,3)=sarr(m,3)jgarr(jgjs,4)=sarr(m,4)endifnextm'输出结果ifjgjs>0ThenCells(1,1).Resize(jgJs,4)=jgArrEndIfEndSub运行结果如图:
如果有问题就加我好友。
追问非常感谢您的回答!我只需要列出需要的结果就可以了。
我想得到的结果是,从28-110挂轮库中(这个只是举例,实际上中间有的齿轮没有。
也有的时候有2个以上相同的齿轮)选择4个齿轮abcd,并且(a/b)*(c/d)=0.43678,列出1-10个完全或者近似等于0.43678的齿轮组合即可。
关于近似精度,可以设置一个选项。
比如精确到小数点后第5位或者第6位等。