I持って2枚(ProductListとCurrentProducts)私は、次のコードを持っている検索し、削除VBAコードを最適化する必要が
でExcelワークブック:これは何
Sub Macro1()
Dim Lastrow As Integer
Dim x As Integer
Dim BinNo As String
Dim MyCell As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Lastrow = Sheets("ProductsList").Range("A65536").End(xlUp).Row
For x = Lastrow To 2 Step -1
BinNo = Sheets("ProductsList").Range("A" & x).Value
With Sheets("CurrentProducts").Range("A:A")
Set MyCell = .Find(What:=BinNo, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not MyCell Is Nothing Then
Sheets("CurrentProducts").Range(MyCell.Address).EntireRow.Delete
End If
End With
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
が列Aからそれぞれの値を取るですCurrentProductsでその製品を検索し、値が見つかった場合はCurrentProductsから行全体を削除するので、CurrentProductsシートに新しい製品が残っています。
このコードは機能しますが、非常に遅く、実行に約5分かかります。
各シートには約30,000行があります。
これを高速化する方法はありますか、それともそれほど多くの行があるからですか?
...このような何かを試してみて、あなたが最適化/レビューを必要とする、あなたは**コードレビューでそれを投稿する必要がありますが**セクション、でます。http:/ /codereview.stackexchange.com/ –
このトピックは、ここで規定されているCodeReviewに移行する必要があるため、このトピックはオフトピックとしてフラグを立てています。http://meta.stackoverflow.com/questions/266749/migration-of-code-questions -from-stack-overflow-to-code-review理由:コードが動作しており、OP自身が作業コードのパフォーマンスを向上させる方法を求めています。克服するバグやエラーはありません。 – Ralph