我正在寻找一个简单的excel宏,它可以基于单元格中具有特定的数字/值将一行从一个工作表复制到另一个工作表内。我有两张床单。一个叫做“主人”,一个叫做“top10”。根据单元格值将行从一个Excel工作表复制到另一个表
这里是一个数据的例子。
这里是我试图使用宏:
Sub MyMacro()
Dim i As Long, iMatches As Long
Dim aTokens() As String: aTokens = Split("10", ",")
For Each cell In Sheets("master").Range("A:A")
If (Len(cell.Value) = 0) Then Exit For
For i = 0 To UBound(aTokens)
If InStr(1, cell.Value, aTokens(i), vbTextCompare) Then
iMatches = (iMatches + 1)
Sheets("master").Rows(cell.Row).Copy Sheets("top10").Rows(iMatches)
End If
Next
Next
End Sub
我知道我在做一些非常愚蠢的是造成这种不工作。我可以在没有任何错误的情况下运行宏本身,但没有任何东西被复制到我正在编译的工作表中。
好吧,我用上面的例子测试了你的代码。它的工作完美无瑕。 4行被复制到“top10”。所以错误不能在你的代码中。也许[我的测试文件](http://ge.tt/6NduTRk/v/0)可以帮助你找出与你不同的东西。 – nixda
Nixda - 感谢您的回复!我下载了你的文件,并能够正确执行,但我仍然无法确定我自己的文件中发生了什么。下面是我正在使用的配对版本 - http://ge.tt/7l1sxTk/v/0?c - 当我运行宏时,它只复制第一行,其中有一个“10”在列A中。你介意看一下吗?不知道为什么它只是查询我的文档的第一行并停止!你的帮助将不胜感激。 –
@KristenPoole,你曾经能够解决这个问题吗? – JME