Q值。创建一个宏,用于在工作表2中查找工作表1中的值
VBA代码
Sub VA01()
' CREATING SALES ORDER
Worksheets("sheet1").Range("C11:C1000000").Select
finalrow = Cells(Rows.Count, 3).End(xlUp).Row
For x = 11 To finalrow
If Cells(x, 3).Interior.ColorIndex = 3 Then
Cells(x, 6).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R11C3:R1000000C3,Sheet2!R4C3:R1000000C4,2,0)"
End If
Next x
End Sub
运行此宏会挂起Excel并花费更多时间执行,无法创建按钮。
答案 0 :(得分:0)
首先我失去了'选择'方法,这需要很多时间和资源。另外为什么你选择你的(“C11:C1000000”)范围时,后面的代码不使用这个选择呢?那么我可能会保留vlookup部分,但只保留值,因为它们不需要更新。那将是这样的:
Sub VA01()
' CREATING SALES ORDER
'Worksheets("sheet1").Range("C11:C1000000").Select
finalrow = Cells(Rows.Count, 3).End(xlUp).Row
For x = 11 To finalrow
If Cells(x, 3).Interior.ColorIndex = 3 Then
Cells(x, 6).FormulaR1C1 = "=VLOOKUP(R11C3:R1000000C3,Sheet2!R4C3:R1000000C4,2,0)"
Cells(x, 6)=Cells(x, 6).Value
End If
Next x
End Sub