Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带复制/粘贴的Vlookup-VBA_Vba_Excel_If Statement_Vlookup - Fatal编程技术网

带复制/粘贴的Vlookup-VBA

带复制/粘贴的Vlookup-VBA,vba,excel,if-statement,vlookup,Vba,Excel,If Statement,Vlookup,我是VBA的新手,仍然在代码中摸索 我想在IF语句中创建一个Vlookup。我想先检查制造商(单元格B11),然后使用所选设备(单元格C11)在单独的选项卡上查找一个范围(“列表”,范围O3:Q11),并将$值(单元格P3)复制/粘贴到新单元格(单元格L11)的初始选项卡上。 正如我所说,我对VBA相当陌生,但以下是我尝试过的一些代码: Sub ServiceCosts() Dim SamsungServ As Range Dim Manufacturer As Range Dim Devic

我是VBA的新手,仍然在代码中摸索

我想在IF语句中创建一个Vlookup。我想先检查制造商(单元格B11),然后使用所选设备(单元格C11)在单独的选项卡上查找一个范围(“列表”,范围O3:Q11),并将$值(单元格P3)复制/粘贴到新单元格(单元格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
任何帮助都将不胜感激


谢谢

在我看来,你似乎认为MonoSamService是“ActiveCell”,除非你明确告诉它,否则它不会是

相反,我会这样做:

MonoSamService=Application.WorksheetFunction.VLookup(设备,SamsungServ,2,False) 表(“财务计算”)。范围(“L11”)。价值=单一服务


例如,将财务计算中单元格的值设置为您从vlookup中获取的值。

您尝试的代码有什么问题?它没有完成查找,只是将单元格C11中的设备复制到sheetVLookup()上的单元格L11。vlookup()是Excel工作表函数。您可能不需要VBA来实现您的目标;只需使用VLookup()和IF()工作表函数即可完成。我同意@AlexBell。有时,使用VBA而不是通过正常的内置Excel公式实现自动化并不值得。我可以通过Excel vlookup和if函数使其完全按照我所需的方式工作,但是其中一个制造商选项是“其他”,我希望进一步编码,以指定如果选择了此选项,将有一列未隐藏,用户可以在其中输入“其他”设备的$value。这部分会通过代码来完成吗?共有5家制造商,每个制造商拥有约5-10台设备。