2017-06-29 216 views
0

對於我正在編寫的更爲複雜的宏,我試圖通過一行信息進行解析。該行中的兩個單元格可能包含多個值。如果情況如此,我想將它們與它們的相應值進行匹配。例如:如果一行中的一個單元格寫入了「1 2 3」,而另一個「10 5 15」,我想將「1」與「10」匹配,「2」與「 5「和」3「與」15「。從我收集的內容來看,Split()函數是我應該使用的,分隔符是空格,但是我對VBA語法沒有太多經驗,如果有人能夠解釋和/或顯示我,我將非常感激他們如何在這種情況下使用Split(),或者指出我對這個問題有不同的解決方案。將單元格中的多個值匹配到具有多個值的另一個單元格

任何幫助表示讚賞!

+2

堆棧溢出更像是「向我展示您的代碼,我會幫助您調試」網站,而不是「如何編寫/使用此代碼」網站。谷歌是你搞清楚如何做事的最好的朋友。如果你有一些代碼,即使它很糟糕,而且沒有工作,也可以把它放到其他位置,這樣其他人就可以指出它有什麼問題。 – AlienHoboken

+1

這就是我的想法。然後,當我上次寫入代碼時,我被告知:「我們不會通過代碼篩選,告訴你它有什麼問題。」...社區看起來並不像以符合本網站的目的。我將很快添加我的代碼 –

回答

0

示例代碼來讀取Excel單元格的值,分裂他們,這裏分割是基於空間,所以不提供該參數,如果有另一種分割參數它看起來像

Split(Sheets("Sheet1").Cells(1, 1), ":") 

與示例代碼與空間分開。稍後使用任何循環與迭代器比較值。

Dim Value1() As String 
Dim Value2() As String 
Function comparecells() 

    Value1 = Split(Sheets("Sheet1").Cells(1, 1)) 
    Debug.Print Value1(0) 
    Debug.Print Value1(1) 
    Debug.Print Value1(2) 
    Value2 = Split(Sheets("Sheet1").Cells(1, 2)) 
    Debug.Print Value2(0) 
    Debug.Print Value2(1) 
    Debug.Print Value2(2)  

End Function 
+0

當你說split是基於空間的時候,所以沒有提供這個參數,是否說空間是split()函數的默認參數? –

+0

是的,如果您沒有給出任何拆分參數,它將空間視爲默認值。 –

相關問題