excel VBA中的types不匹配

我试图学习VBA。 此代码:

Dim i As Integer Dim damage As String i = 1 Do While 1 damage = CStr(Worksheets("charakters").Range("d14").Value) you_min_damage = CInt(Left(damage, i)) If Right(i, 0) = "-" Then Trim (you_min_damage) Exit Do End If i = i + 1 Loop 

导致这个问题(在4次迭代中):

错误

在细胞D14我有“4 – 11”。 我想分开第一个数字nad将其更改为整数。

You_min_damage是整数。

试试这个:

 Dim you_min_damage As Integer, you_max_damage As Integer Dim arr 'store all values in array arr = Split(Worksheets("charakters").Range("d14").Value, "-") 'get first value you_min_damage = CInt(arr(0)) 'get last value you_max_damage = CInt(arr(UBound(arr)))