如何在excel里定义VBA中的变量与公式呢?(请不要看反) 5
箱型单位计价公式普通箱厘米(长+宽+5)*(宽+高+3)*2*单价/10000全翼箱厘米(长+宽+5)*(2*宽+高+3)*2*单价/10000半翼箱厘米(长+宽+5)*...
箱型 单位 计 价 公 式
普通箱 厘米 (长+宽+5)*(宽+高+3)*2*单价/10000
全翼箱 厘米 (长+宽+5)*(2*宽+高+3)*2*单价/10000
半翼箱 厘米 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
半全翼箱 厘米 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
天地箱 厘米 (2*高+长+3)*(2*高+宽+3)*单价*1.55/10000
上述为excel里面的内容,如何使用vba进行扫描,当选择了箱型时,自动选取对应的公式进行进算。前提是不用条件选择,因为我的公式会有很多,我不想对VBA内部进行无止境的条件和公式的增加。(你可以想象,如果有100条公式,那么在vba里就要增加相对应的条件数目,那不是我想要的,我想要的是vba只要进行一次性编辑,然后通过excel开放对vba的编辑)
换句话说,就是让excel变成一个编辑平台,只要在excel里增加了公式,就可以是使用,也就是说不用再次编辑vba,编辑设置向使用者开放,效果类似于vlookup的用法,但是结果是在vba内部表示,我前段时间也提过类似的问题,但是没有得到我想要的答案,求大虾赐教。可能我的提问有点古怪,若没能理解我的问题,请HI我。在这里我先求有理解我的问题的大虾出现,谢谢。
还是有很多不理解我的问题,重点是那个是数据库,我只要增加或者修改公式即可,我所有的计算都是指向这个数据库,不是单独的进行一个单元格的计算,而且我的问题还涉及到变量自定义的问题,所以希望各位理解清楚我的问题。我不需要做人为的选择,yjhitxu1132 就明白我的意思,那个是我想要的结果。 展开
普通箱 厘米 (长+宽+5)*(宽+高+3)*2*单价/10000
全翼箱 厘米 (长+宽+5)*(2*宽+高+3)*2*单价/10000
半翼箱 厘米 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
半全翼箱 厘米 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
天地箱 厘米 (2*高+长+3)*(2*高+宽+3)*单价*1.55/10000
上述为excel里面的内容,如何使用vba进行扫描,当选择了箱型时,自动选取对应的公式进行进算。前提是不用条件选择,因为我的公式会有很多,我不想对VBA内部进行无止境的条件和公式的增加。(你可以想象,如果有100条公式,那么在vba里就要增加相对应的条件数目,那不是我想要的,我想要的是vba只要进行一次性编辑,然后通过excel开放对vba的编辑)
换句话说,就是让excel变成一个编辑平台,只要在excel里增加了公式,就可以是使用,也就是说不用再次编辑vba,编辑设置向使用者开放,效果类似于vlookup的用法,但是结果是在vba内部表示,我前段时间也提过类似的问题,但是没有得到我想要的答案,求大虾赐教。可能我的提问有点古怪,若没能理解我的问题,请HI我。在这里我先求有理解我的问题的大虾出现,谢谢。
还是有很多不理解我的问题,重点是那个是数据库,我只要增加或者修改公式即可,我所有的计算都是指向这个数据库,不是单独的进行一个单元格的计算,而且我的问题还涉及到变量自定义的问题,所以希望各位理解清楚我的问题。我不需要做人为的选择,yjhitxu1132 就明白我的意思,那个是我想要的结果。 展开
展开全部
sheet1中 列出你的商品
商品 价格
普通箱
全半翼箱
半全翼箱
天地箱
sheet2中列出计算公式
普通箱 (长+宽+5)*(宽+高+3)*2*单价/10000
全翼箱 (长+宽+5)*(2*宽+高+3)*2*单价/10000
半翼箱 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
半全翼箱 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
天地箱 (2*高+长+3)*(2*高+宽+3)*单价*1.55/10000
在sheet1 中加入按键指定宏 遍历sheet1中A列中商品 用vlookup 在表2中查询对应计价方法 并填充入shee1 B列 如有新商品种类和计价方法的添加 只需在sheet2中加入 OK
时间关系 代码不写了
商品 价格
普通箱
全半翼箱
半全翼箱
天地箱
sheet2中列出计算公式
普通箱 (长+宽+5)*(宽+高+3)*2*单价/10000
全翼箱 (长+宽+5)*(2*宽+高+3)*2*单价/10000
半翼箱 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
半全翼箱 (长+宽+5)*(1/2*宽+高+3)*2*单价/10000
天地箱 (2*高+长+3)*(2*高+宽+3)*单价*1.55/10000
在sheet1 中加入按键指定宏 遍历sheet1中A列中商品 用vlookup 在表2中查询对应计价方法 并填充入shee1 B列 如有新商品种类和计价方法的添加 只需在sheet2中加入 OK
时间关系 代码不写了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有很明白你的意思,是不是这个意思:
Sub 自定义()
'这里需要设定一下长宽高以及单价的数值
For i = 2 To 100 '从第2行开始到第100行,可以自行设定始末行
If Cells(i, 1) = "" Then
'什么都不做
ElseIf Cells(i, 1) = "普通箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "全翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "半翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (1 / 2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "半全翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (1 / 2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "天地箱" Then
Cells(i, 3) = (2 * 高 + 长 + 3) * (2 * 高 + 宽 + 3) * 单价 * 1.55 / 10000
Else
Cells(i, 3) = "尚未定义"
End If
Next i
End Sub
Next i
End Sub
Sub 自定义()
'这里需要设定一下长宽高以及单价的数值
For i = 2 To 100 '从第2行开始到第100行,可以自行设定始末行
If Cells(i, 1) = "" Then
'什么都不做
ElseIf Cells(i, 1) = "普通箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "全翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "半翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (1 / 2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "半全翼箱" Then
Cells(i, 3) = (长 + 宽 + 5) * (1 / 2 * 宽 + 高 + 3) * 2 * 单价 / 10000
ElseIf Cells(i, 1) = "天地箱" Then
Cells(i, 3) = (2 * 高 + 长 + 3) * (2 * 高 + 宽 + 3) * 单价 * 1.55 / 10000
Else
Cells(i, 3) = "尚未定义"
End If
Next i
End Sub
Next i
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个简单 你不如直接做一个用户控件
在上面贴上这几个标签,然后在公式栏下面使用文本框控件,然后把text属性设置成你要表达的公式的值就行了
一次计算出所有的类型的大小不是更好?
在上面贴上这几个标签,然后在公式栏下面使用文本框控件,然后把text属性设置成你要表达的公式的值就行了
一次计算出所有的类型的大小不是更好?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我明白你的意思,你是想让VBA不改动.你在工作表里面修改你的公式或者是增加公式,让VBA自动去查找各种箱子所对应的公式.然后填进你需要的地方,对吧.200分.帮你解决.绝对让你满意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询