我正在尋找一個簡單的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