セルに特定の数値/値があることに基づいて、Excel内のあるシートから別のシートに行をコピーできる単純なExcelマクロを探しています。2枚あります。「マスター」と呼ばれるものと「トップ10」と呼ばれるシート。
以下はデータの一例です。
使用しようとしているマクロは次のとおりです。
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
これが機能しない原因となっている非常にばかげたことをしていると確信しています。エラーなしでマクロ自体を実行できますが、コンパイルしようとしているシートには何もコピーされません。