0
別のシートでvlookupし、別のユーザー定義の値でvlook upセルの値を変更するマクロを作成したいとします。vlookupとreplace - パフォーマンスの向上
私は自分の必要性を満たしている非常に基本的なコードを書いたが、それは非常に遅く、1回の実行にはほぼ3分かかる。
あなたは、より簡単な方法を提案するか、自分のコードで何が間違っているかを提案してください。
Private Sub CommandButton1_Click()
Dim myCell As Range
Dim myLookup
Dim i As Integer
i = Sheets("Modify Order").Cells(5, 2).Value
For Each myCell In Sheets("Customer List").Range("E:E")
If myCell.Value = Sheets("Modify Order").Cells(4, 2).Value Then
myCell.Offset(0, i).Value = Sheets("Modify Order").Cells(7, 2).Value
End If
Next myCell
MsgBox "Done!"
End Sub
どのように多くの行あなたの操作を行います。代わりに、バリアント配列を使用することをお勧め列Eにある? forループを開始する前にデータを含む最後の行を見つけようとすると、データを含まないセルをチェックする時間がかかりません。 –
これらの2行を追加して、改善があるかどうか教えてください。 セル(行数:5)。終点(xlUp)。ロー ' 'シートごとにmyCell In Sheets( "Customer List")。範囲( "E1:E" &LastRow& "") ' –
[CodeReview](http://codereview.stackexchange.com/questions/tagged/vba?sort=newest&pageSize=50) –