2015-04-23 79 views
-2

有沒有辦法將不同的列str1 + str2/Str3-str4 * str5-str6中的數學計算分割成像str1,str2,str3 str4,str5,str6這樣的列。沒有特定的順序,可能會多次出現。搜索數組的東西,並吐出它在不同的列

+2

後的一個例子的陣列到範圍分割的字符串的數組您的數據和預期結果 –

+0

str1 + str2/Str3-str4 * str5-str6數據 –

+0

我的意思是來自電子表格的一些數據和手動計算以顯示結果。 –

回答

2

這可能就是你所需要的東西:

Sub SplitOnSigns() 
Dim X As Long, MyString As String, MySign As Variant, MyArr As Variant 
MySign = Array("+", "-", "*", "/") 
MyString = ActiveCell.Text 
For X = LBound(MySign) To UBound(MySign) 
    MyString = Replace(MyString, MySign(X), "|") 
Next 
MyArr = Split(MyString, "|") 
Range(ActiveCell.Offset(0, 1).Address & ":" & ActiveCell.Offset(0, UBound(MyArr) + 1).Address) = MyArr 
End Sub 

你可以在這裏添加更多的條目:

MySign = Array("+", "-", "*", "/") 

如果有更多跡象分裂的。這假設你的數據在「|」中沒有管道如果需要,我們可以將分割字符更改爲未使用的字符。

它通過與管道progressivly更換標誌,它然後使用管作爲分離,最後將其張貼旁邊的活性細胞

+0

謝謝丹感謝您的幫助。這讓我的生活變得輕鬆! 。 –

相關問題