将单元格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中
- 数据….. 文本到列
- select
delimited
并按下一步 - 检查空间并将“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