将单元格string拆分为单个单元

我无法将单个单元格的值拆分为两个不同的string,并将这两个string放在不同的单元格中。

例如,我想在一个单元格中测量一个10ft x 20ft数值,然后把这个10ft放到另一个单元格中,然后把它放在一个完全不同的单元格中。

我想使用分隔符x或其他东西,但我只是不知道如何采取这些分离,并在拆分后与他们做一些事情。

任何提示将不胜感激。 我对VBAmacros还是很新的。

谢谢

最好的解决scheme是使用SPLIT

 Dim strX As String Dim sx() As String Dim i as Integer strX = "10FT x 20FT" sx = Split(strX, "x") 

或者,也许你可以使用instr函数

 Dim sVar1 as string Dim sVar2 as string I = InStr(1, strX, "x") 

现在你知道哪里可以分割int两个variables

 sVar1 = mid(strX, 1, I) sVar2 = mid(strx,i+1) 

该函数的问题是,如果你想要分开你的函数链中有几个键将返回一个数组较大。 例如:Dim var as string var =“x 20XP 10XP”

回报

 array (0) = "10" array (1) = "p" array (2) = "20" array (3) = "p" 

你实际上并不需要VBA。 您可以使用Excel的“文本到列”

例如,在Excel 2010中

  1. 数据….. 文本到列
  2. selectdelimited并按下一步
  3. 检查空间并将“x”放入其他 ,然后按下一步

在这里输入图像说明

猜猜我只需要看起来更难一点。

 Sub Split_CutArea() Dim str1() As String Dim str2() As String Dim avarsplit As Variant avarsplit = Split(Cells(4, "B").Value, "x") splitValues = Split(ActiveSheet.Cells(4, "B").Value) ActiveSheet.Cells(22, "B").Value = splitValues(0) & splitValues(1) ActiveSheet.Cells(23, "B").Value = splitValues(3) & splitValues(4) End Sub