对于每个下一个不匹配错误

时间:2017-05-12 06:03:59

标签: excel vba excel-vba

我目前正试图将某些数据转换为我想要的单位。只有两个单位;米尔斯微米。组合框允许用户选择他们想要数据的单元。如果数据不在用户想要的单元中,那么它将需要转换。

我试图测试一下:
现在的情况是数据是以密尔为单位,我需要将其转换为微米。但是它一直给我错误的类型不匹配第二个数据在线:rngx.value = rngx.value / y

Dim cx As range
Dim rng As range
Dim cy As range
Dim rngx As range
Const y As Double = 25.4
If unit <> Sheet1.ComboBox1.value Then '------> Data 1 
   If Sheet1.ComboBox1.value = " Mils" Then '---> from mils to microns 
     Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown))
     For Each rng In cx
     rng.value = rng.value * y
     Next rng
   Else
     Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown))'---> Microns to mils 
     For Each rng In cx
     rng.value = rng.value / y
     Next rng
   End If
End If

If unit <> Sheet1.ComboBox2.value Then '-------> Data 2 
   If Sheet1.ComboBox2.value = " Mils" Then'---> from mils to microns 
    Set cy = Sheet9.range("I2", Sheet9.range("I2").End(xlDown))
     For Each rngx In cy
     rngx.value = rngx.value * y
     Next rngx
  Else
    Set cy = Sheet9.range("I2", Sheet9.range("I2").End(xlDown))'---> Microns to mils 
    For Each rngx In cy
     rngx.value = rngx.value / y
     Next rngx
  End If
End If

1 个答案:

答案 0 :(得分:1)

此错误基本上意味着:变量属性的类型不正确。

例如,需要整数值的变量不能接受字符串值,除非整个字符串可以被识别为整数。

解决方案:

1)确保返回的所有值都是数字

2)确保没有返回的值为空,因为“”&lt;&lt;字符串类型

这应该可以解决您的问题