如何在VBA中执行此操作?VBA Excel:如何在VBA中使用VLookup和IF?
IF(VLOOKUP(E3;Tabel5;2;0)>=F26;VLOOKUP(E3;Tabel5;4;0)*F26;)
非常感谢!
如何在VBA中执行此操作?VBA Excel:如何在VBA中使用VLookup和IF?
IF(VLOOKUP(E3;Tabel5;2;0)>=F26;VLOOKUP(E3;Tabel5;4;0)*F26;)
非常感谢!
尝试使用此代码:
第一种方式(可以使用用户定义的函数):
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
时,应该调用此宏。
,如何让VBA代码在单元格F27中运行?感谢您的快速响应:) – user3133588
我已经更新了我的答案 –
第一个很好 - 但它不会自动更新,我必须手动更新单元格F27。单元格F27改变后,单元格F27可能会自动工作吗? :) – user3133588
请描述你正在尝试做什么(而不是仅仅给出替代的excel函数) –