【发布时间】:2014-11-28 04:49:03
【问题描述】:
我对 VBA 还很陌生,但仍在寻找解决代码的方法!
我想在 IF 语句中创建 Vlookup。我想先检查制造商 (Cell B11),然后使用所选设备 (Cell C11) 在单独的选项卡上查找范围 ("List",范围 O3:Q11) 并将 $ 值 (Cell P3) 复制/粘贴到新单元格 (Cell L11) 的初始选项卡上。 正如我所说,我对 VBA 还很陌生,但这里有一些我尝试过的代码:
Sub ServiceCosts()
Dim SamsungServ As Range
Dim Manufacturer As Range
Dim Device As Range
Dim MonoSamService As String
Set SamsungServ = Sheets("List").Range("O3:Q11")
Set Manufacturer = Range("B11")
Set Device = Range("C11")
If Manufacturer = "Samsung" Then
MonoSamService = Application.WorksheetFunction.VLookup(Device, SamsungServ, 2, False)
ActiveCell.Copy
Sheets("Finance Calculations").Range("L11").Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
Else
MsgBox "Please Select Device"
End If
End Sub
非常感谢任何帮助!!!
谢谢
【问题讨论】:
-
您尝试的代码有什么问题?
-
它没有完成查找,它只是将单元格 C11 中的设备复制到工作表上的单元格 L11
-
VLookup() 是一个 Excel 工作表函数。您可能不需要 VBA 来实现您的目标;只需使用 VLookup() 和 IF() 工作表函数即可完成。
-
我同意@AlexBell。有时不值得使用 VBA 进行自动化,而是使用普通的内置 Excel 公式。
-
我可以通过 excel vlookup 和 if 函数让它完全按照我的需要工作,但是制造商选项之一是“其他”,我想进一步编码以指定是否选择了它,会有一个不隐藏的列,用户可以在其中输入“其他”设备的 $ 值。这部分会通过代码来完成吗?总共有 5 家制造商,每个制造商大约有 5-10 台设备。
标签: vba excel if-statement vlookup