2013-02-05 46 views
0

我想知道是否有人可以給我一些指示。我有一列的數據安排這樣在每個單元:如何將單元格中的子串分隔爲vba中的數組

Column E 

E1- name-age(nickname) name-age(nickname) name-age(nickname) .... 
E2- name-age(nickname) name-age(nickname) name-age(nickname) .... 
etc... 

問題是其所有在一列中,我知道我可以用文字列功能,並通過空間分隔。但是,有沒有更好的方法來做到這一點?如果可能的話,我想通過vba來完成。

我的最終目標是將每個「名字年齡(暱稱)」對聯捕捉到一個數組中。目前,我已經在VBA -wise開始是

Sub SplitColumn() 
    Details = Cells(i, 5).Value // where the big column data is located 
    tempString = Left(Details, InStr(Details, " ")) 
End Sub 

有了這個,我只能得到頭名年齡(暱稱)聯在該單元格..有一個更好的方式來計算策略呢?

在此先感謝您的幫助。

+1

見[此有用的討論](http://www.wiseowl.co.uk/blog/s224/split-join-array.htm)獲得字符串成陣列,尤其是與分割的功能。 – chuff

回答

1

您正在命名您的子程序爲Split列,但沒有使用拆分功能。

你有兩個選擇:

  1. 斯普利特空間

例如cellvalue只是引用您的單元格的變量名稱。對於多個單元,您可以循環。

vArray As Variant 
    vArray = Split(cellvalue, " ") 
  1. 。利用在菜單欄Text to Columns嚮導。然後將範圍轉置或轉儲到變量數組中。

例如,

vArray = Sheets(1).Range("A1:H10").value 
+0

啊啊,這就是我正在尋找的,謝謝! – Eddy

相關問題