
vb函数问题
是这样的我现在手上有一份表这基本是每月每年必须做的比如每月月初我们会有一个到货计划月中时候我们必须要统计到货率就是到货数/到货计划×100%现在现在问题是我必须要找一列单...
是这样的 我现在手上有一份表 这基本是每月每年必须做的 比如 每月月初我们会有一个到货计划 月中时候我们必须要统计到货率 就是到货数/到货计划×100% 现在 现在问题是 我必须要找一列单元格 在每个品牌的到货率后面设计一个VB程序或者是函数 要求是:当到货率>0同时小于100% 为"未到齐计划" 当到货率=0时为"本月无购进计划",当到货率=100%时为"本月已到齐货",最后一个为当到货率>100%时为"超计划到货"。
基本就是上面那些了,本人用if函数的话只会2种条件,但这里太多条件,我想过用编程,但是由于能力问题,确实不会,所以不耻下问,请高手给予解答 谢谢 展开
基本就是上面那些了,本人用if函数的话只会2种条件,但这里太多条件,我想过用编程,但是由于能力问题,确实不会,所以不耻下问,请高手给予解答 谢谢 展开
3个回答
展开全部
按你的说法应该是用excel吧,直接用excel的宏命令。工具—宏—录制新宏 停止录制,编辑录制的宏!代码如下:
Dim i As Long 'i是你数据起始行
For i = 1 To 65535 '把这1换成数据起始行
If Cells(i, 1) = "" Then Exit For
Select Case CLng(Cells(x, y)) 'x,y是你到货率那行的坐标
Case 0
Cells(x, y + 1) = "本月无购进计划" '在到货率的后一列增加注释
Case 1 To 99
Cells(x, y + 1) = "未到齐计划"
Case 100
Cells(x, y + 1) = "本月已到齐货"
Case Is > 100
Cells(x, y + 1) = "超计划到货"
End Select
Next i
Dim i As Long 'i是你数据起始行
For i = 1 To 65535 '把这1换成数据起始行
If Cells(i, 1) = "" Then Exit For
Select Case CLng(Cells(x, y)) 'x,y是你到货率那行的坐标
Case 0
Cells(x, y + 1) = "本月无购进计划" '在到货率的后一列增加注释
Case 1 To 99
Cells(x, y + 1) = "未到齐计划"
Case 100
Cells(x, y + 1) = "本月已到齐货"
Case Is > 100
Cells(x, y + 1) = "超计划到货"
End Select
Next i
展开全部
可以用一个多分支就行了!
Select Case test
Case 0
MsgBox "本月无购进计划"
Case 1 To 99
MsgBox "未到齐计划"
Case 100
MsgBox "本月已到齐货"
Case Is > 100
MsgBox "超计划到货"
End Select
Select Case test
Case 0
MsgBox "本月无购进计划"
Case 1 To 99
MsgBox "未到齐计划"
Case 100
MsgBox "本月已到齐货"
Case Is > 100
MsgBox "超计划到货"
End Select
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多分枝If或者Select.
If:
If XXX Then
ElseIf XXX then
ElseIf XXX Then
...
Else
End If
你可以这样写。
例如(货率为x):
If x>0 and x<1 then '100%就是1.
msgbox "未到齐计划"
elseif x=0 then
msgbox "本月无购进计划"
elseif x=1 then
msgbox "本月已到齐货"
elseif x>1 then
msgbox "超计划到货"
end if
If:
If XXX Then
ElseIf XXX then
ElseIf XXX Then
...
Else
End If
你可以这样写。
例如(货率为x):
If x>0 and x<1 then '100%就是1.
msgbox "未到齐计划"
elseif x=0 then
msgbox "本月无购进计划"
elseif x=1 then
msgbox "本月已到齐货"
elseif x>1 then
msgbox "超计划到货"
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询