0

不要なデータがたくさんある XML フィードがあるので、列 BA に「サッカー」を含む行を新しいワークシートにコピーする次のマクロを見つけました。具体的な列 E、I、 P、T、W、Y、Z を行全体ではなくシートにするため、不要な列を非表示にする必要はありません。

サブ SearchForString()

Dim LSearchRow As Integer
Dim LCopyToRow As Integer

On Error GoTo Err_Execute

'Start search in row 3
LSearchRow = 3

'Start copying data to row 2 in Sheet2 (row counter variable)
LCopyToRow = 2

While Len(Range("A" & CStr(LSearchRow)).Value) > 0

    'If value in column BA = "Soccer", copy entire row to Sheet2
    If Range("BA" & CStr(LSearchRow)).Value = "Soccer" Then

        'Select row in Sheet1 to copy
        Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
        Selection.Copy

        'Paste row into Sheet2 in next row
        Sheets("Sheet2").Select
        Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
        ActiveSheet.Paste

        'Move counter to next row
        LCopyToRow = LCopyToRow + 1

        'Go back to Sheet1 to continue searching
        Sheets("Sheet1").Select

    End If

    LSearchRow = LSearchRow + 1

Wend

'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select

MsgBox "All matching data has been copied."

Exit Sub

Err_Execute:
    MsgBox "An error occurred."

End Sub
4

1 に答える 1

0

代わりにピボットテーブルを使用してください。E、I、P、T、W、Y、Z 列をピボットテーブルの列として追加し、「サッカー」によるピボット フィルターを追加します。

于 2014-08-16T19:48:48.590 に答える