1

私はしばらくの間これをやろうとしてきましたが、障害にぶつかり続けています。

A、B、C、D、E の 5 列のデータを含む Excel のシートがあります。

いくつかのデータを含む別の列 F があります。

私が欲しいのは、列 F のすべての値を列 B で見つけ、その行全体 (A、B、C、D & E) のみを新しいシートにコピーする (または他のすべての値を削除する) ことができる数式またはマクロです。 )。

数式を実行してエラー行を削除しようとしましたが、データがめちゃくちゃになります。

何か案は?

4

1 に答える 1

1

私が理解しているように、次のようなデータがあります

列 C と B を比較する

A       B       C
Row 1   Value 1 Value 3
Row 2   Value 2 Value 5
Row 3   Value 3 Value 8
Row 4   Value 4 Value 3
Row 5   Value 5 Value 5
Row 6   Value 6 Value 8
Row 7   Value 7 Value 3
Row 8   Value 8 Value 5
Row 9   Value 9 Value 8

シート2に結果が必要です

A       B
Row 3   Value 3
Row 5   Value 5
Row 8   Value 8

次のコードを試してください

Sub Macro1()

    Dim Counter As Long

    Dim lastRow As Long
    lastRow = 10
    Dim arrColF(10) As String

    Sheets("Sheet1").Select

    For Counter = 1 To lastRow Step 1
        arrColF(Counter - 1) = Sheet1.Cells(Counter, 3).Value
    Next Counter

    arrStr = Join(arrColF, ", ")
    Dim strRange As String

    For Counter = 1 To lastRow Step 1
        If InStr(1, arrStr, Sheet1.Cells(Counter, 2).Value & ", ") > 0 Then
            strRange = strRange & "A" & Counter & ":B" & Counter
            If Trim(strRange) <> "" Then strRange = strRange & ","
        End If
    Next Counter
    strRange = Left(strRange, Len(strRange) - 1)

    Sheet1.Range(strRange).Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("A1").Select
    ActiveSheet.Paste

End Sub
于 2012-06-13T06:48:13.030 に答える