Excel VBA-拆分函数并将其转换为整数值

Excel VBA-拆分函数并将其转换为整数值,excel,vba,Excel,Vba,单元格D1为“12x15kg”,有时可能为“5x15kb” 上述返回“类型不匹配错误13” 如何将整数值输入“this_packing” 谢谢 1)Split返回数组,因此Val(Split(..)无效。 2) 拆分区分大小写,因此需要“x”来匹配“x” Split返回一个数组(即使没有找到分隔符,它也会返回一个包含原始值作为第一个元素的数组),因此您需要指定要转换的零件的索引: ' First element: 12 in "12 x 15KG" first = Val(Split(Works

单元格D1为“12x15kg”,有时可能为“5x15kb”

上述返回“类型不匹配错误13” 如何将整数值输入“this_packing”

谢谢

1)Split返回数组,因此Val(Split(..)无效。
2) 拆分区分大小写,因此需要“x”来匹配“x”


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基索引

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
' 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