0

私は2枚のExcelシートを持っています

シート2

シート1(列A)のすべての行をループし、この値がシート2の列(e)['item_barcode']に存在するかどうかを検索します。見つかった場合は、同じ強調表示をシート2にコピーします。

シート1

私はvbaが苦手ですが、実際にはこれまで使用したことはありませんが、上司のためにこれを行う必要があり、このExcelシートには55kを超える行が含まれています。vbaでそれを行う方法はありますか?それ以外の場合は、xlsをmysqlに変換し、phpで処理してからxls。:Dに戻す必要があります。

4

1 に答える 1

1

これでうまくいくはずです:

  Sub LoopAndHighlight()

  Dim cl As Range
  Dim RowNum As Integer

  On Error Resume Next

     For Each cl In Intersect(Sheets("Sheet1").Range("A:A"), Sheets("Sheet1").UsedRange)
        RowNum = 0
        RowNum = Application.WorksheetFunction.Match(cl.Value, Sheets("Sheet2").Range("E:E"), 0)

        If RowNum <> 0 Then
           cl.Interior.Color = Sheets("Sheet2").Range("E" & Application.WorksheetFunction.Match(cl.Value, Sheets("Sheet2").Range("E:E"), 0)).Interior.Color
        End If
     Next cl

  End Sub
于 2013-01-07T14:17:37.203 に答える