如何在VBA中执行此操作?
IF(VLOOKUP(E3;Tabel5;2;0)>=F26;VLOOKUP(E3;Tabel5;4;0)*F26;)
非常感谢!
答案 0 :(得分:2)
尝试使用此代码:
第一种方式(您可以使用用户定义的函数):
Function getSomeData(E3 As Range, Table5 As Range, F26 As Range)
getSomeData = ""
If WorksheetFunction.VLookup(E3, Table5, 2, 0) >= F26 Then
getSomeData= WorksheetFunction.VLookup(E3, Table5, 4, 0) * F26
End If
End Function
您只需在其中键入=getSomeData(E3;Tabel5;F26)
即可在任何单元格中调用它。此方法的优点是,当您更改相关单元格(E3
,F26
或Table5
)中的数据时,函数将重新计算单元格中的值。
第二种方式:
Sub getSomeDataSub()
Dim E3 As Range, F26 As Range, Table5 As Range
Range("F27") = ""
Set E3 = Range("E3")
Set Table5 = Range("Table5")
Set F26 = Range("F26")
If WorksheetFunction.VLookup(E3, Table5, 2, 0) >= F26 Then
Range("F27")= WorksheetFunction.VLookup(E3, Table5, 4, 0) * F26
End If
End Sub
您可以从功能区调用此宏,它会将一些数据放入F27
单元格中。在这种方法中,每次更改相关单元格中的值时都应调用此宏,以便在F27
中重新计算它。