所以我想让我的宏在一张表中分析一些数据。数据在单元格B2到B6上,数字在0和4之间(小数)。Select Case wrong输出
我想不出我在做什么错误的代码,它工作完全正常使用一组不同的在不同细胞的条件下,我图所示
此代码:
Sub Salmondepthoutlet()
Dim score As Double, result As String
Dim Rng As Range, i As Long
i = 0
With Sheets("Vertical")
For Each Rng In .Range("B7:B16")
score = Rng.Value
Select Case score
Case Is >= 0.15
result = "1"
Case 0.11 To 0.14
result = "0.6"
Case 0.08 To 0.1
result = "0.3"
Case Is <= 0.07
result = "0"
End Select
.Range("B26").Offset(i).Value = result
i = i + 1
Next Rng
End With
End Sub
但是这个代码不(没有出现在B21的输出&结果是错误的,其他人)提前
Sub Salmonvelocityoutlet()
Dim score As Double, result As String
Dim Rng As Range, i As Long
i = 0
With Sheets("Vertical")
For Each Rng In .Range("B2:B6")
score = Rng.Value
Select Case score
Case Is >= 3
result = "0"
Case 2.99 To 2.6
result = "0.3"
Case 2.59 To 2.09
result = "0.6"
Case Is <= 2
result = "1"
End Select
.Range("B21").Offset(i).Value = result
i = i + 1
Next Rng
End With
End Sub
感谢您的H elp &时间
应该'.Range(“B2:B6”)'是'.Range(” B7:B16“)' –
不,这是正确的范围,原来在现在编辑的问题中弄错了。 – Lilou
您的编辑代码[适用于我](http://i.stack.imgur.com/S4zwf.jpg)。你的细胞有什么价值? (你可以复制/粘贴一些数据)?请注意,它可能永远不会在'B21'中返回一个值,因为您正在通过'i'单元格进行抵消。 – BruceWayne