1

現在、以下のコードを使用して複数の値を検索し、コピーして別のシートに貼り付けています。このコードの目的は、膨大なデータ セットから遺伝子 (小さな単語) のリストを取得することです。

このコードは、シート 3 列 A (A2 で始まる) にある 1 つの遺伝子リスト (小さなキーワードのリスト) のみを対象としています。膨大なデータ セット (シート 1 に存在) から取得されたすべてのデータは、シート 2 にコピーされます。

これで、6 つの遺伝子リスト (小さなキーワードの 6 つのリスト) ができました。これらすべての遺伝子リストに対して 6 枚の個別のシートを作成する必要があります。この問題のコードを教えてください。

Sub OrderFinder()
    Dim srchLen, gName, nxtRw As Integer
    Dim g As Range

    'Clear Sheet 2 and Copy Column Headings
    Sheets(2).Cells.ClearContents
    Sheets(1).Rows(1).Copy Destination:=Sheets(2).Rows(1)

    'Determine length of Search Column from Sheet3
    srchLen = Sheets(3).Range("A" & Rows.Count).End(xlUp).Row

    'Loop through list in Sheet3, Column A. As each value is
    'found in Sheet1, Column B, copy it too the next row in Sheet2
    With Sheets(1).Columns("B")
        For gName = 2 To srchLen
            Set g = .Find(Sheets(3).Range("A" & gName), lookat:=xlWhole)
            If Not g Is Nothing Then
                nxtRw = Sheets(2).Range("B" & Rows.Count).End(xlUp).Row + 1
                g.EntireRow.Copy Destination:=Sheets(2).Range("A" & nxtRw)
            End If
        Next
    End With
End Sub
4

0 に答える 0