细胞D1是" 12 x 15KG"有时它可能是" 5 x 15KB"
this_packing = Val(Split(Worksheets("DA").Range("D1").Value, "X"))
以上返回"类型不匹配错误13" 如何将Integer值转换为' this_packing' ?
谢谢!
答案 0 :(得分:1)
1)Split返回一个数组,因此Val(Split(..))无效 2)Split是区分大小写的,因此你需要“x”来匹配“X”。
Option Explicit
Sub sub1()
Dim i1&, s0$, s1$, this_packing As Variant
this_packing = (Split("12 x 15KG", "x"))
s0 = this_packing(0)
s1 = this_packing(1)
i1 = Val(this_packing(0))
End Sub
答案 1 :(得分:1)
Split
返回一个数组(即使找不到分隔符,它也会返回一个包含原始值作为第一个元素的数组),因此您需要指定该部分的索引。转换:
' First element: 12 in "12 x 15KG"
first = Val(Split(Worksheets("DA").Range("D1").Value, "x")(0)) ' -> 12
' Second element: 15 in "12 x "15KG"
second = Val(Split(Worksheets("DA").Range("D1").Value, "x")(1)) ' -> 15
确定是使用0基索还是1基索引可能有点令人困惑,但Split
默认使用0基。