2017-06-29 155 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

是的,如果您没有给出任何拆分参数,它将空间视为默认值。 –

相关问题