我目前正试图将某些数据转换为我想要的单位。只有两个单位;米尔斯微米。组合框允许用户选择他们想要数据的单元。如果数据不在用户想要的单元中,那么它将需要转换。
我试图测试一下:
现在的情况是数据是以密尔为单位,我需要将其转换为微米。但是它一直给我错误的类型不匹配第二个数据在线: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
答案 0 :(得分:1)
此错误基本上意味着:变量或属性的类型不正确。
例如,需要整数值的变量不能接受字符串值,除非整个字符串可以被识别为整数。
解决方案:
1)确保返回的所有值都是数字
2)确保没有返回的值为空,因为“”&lt;&lt;字符串类型
这应该可以解决您的问题