将细胞串分成单个细胞

时间:2012-10-22 21:27:21

标签: excel vba excel-formula

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

例如,我想在单元格中取一个度量10ft x 20ft值并取10ft并将其放在另一个单元格中,然后取20ft并将其置于完全不同的位置细胞。

我想使用分隔符x或其他东西,但我不知道如何分割这些分色并在分割后对它们做些什么。

任何提示都会非常感激。我对VBA宏还不熟悉。

由于

3 个答案:

答案 0 :(得分:5)

最佳解决方案是使用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")

现在你知道哪里可以拆分两个变量

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"

答案 1 :(得分:5)

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

例如,在

  1. 数据..... 文本到列
  2. 选择delimited并按下一步
  3. 检查空间并将“x”放入其他,然后按下一步
  4. 完成
  5. enter image description here

答案 2 :(得分:0)

猜猜我只是需要更加努力。

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