过程导致类型不匹配

时间:2014-04-19 11:42:31

标签: excel vba excel-vba type-mismatch

嗨我这个程序有问题:

Sub initiative(name As Range, initiative_range As Range, number As Integer)
    Worksheets("battle").Range("a6").Offset(0, number).Value = name
    Worksheets("battle").Range("b6").Offset(0, number).Value = Round(19 * Rnd) + 1 + CInt(initiative_range.Value)
End Sub

第3行导致类型不匹配问题。我用这个叫做sub:

Call initiative(Worksheets("character").Range("AD24"), Worksheets("character").Range("b1"), 1)

1 个答案:

答案 0 :(得分:2)

这意味着这四个组件中的一个是不匹配的数据类型:

Worksheets("battle").Range("b6").Offset(0, number).Value 
Round(19 * Rnd) 
1 
CInt(initiative_range.Value)

或者,CInt(initiative_range.Value)无法转换为整数。

或者,number不是数字

为什么不进入调试模式并检查每个组件并进行处理。

可能是CInt部分。