Excel VBA在表中查找值并复制公式
我有一个两列查找表。第1列是固定的项目列表,第2列中有一个公式 在另一个表中,当有人在单元格a1中输入数据,并且数据与我的查找表第1列中的项目相匹配时,我需要将第2列中的相应公式复制并粘贴到单元格b2中Excel VBA在表中查找值并复制公式,excel,excel-formula,vlookup,vba,Excel,Excel Formula,Vlookup,Vba,我有一个两列查找表。第1列是固定的项目列表,第2列中有一个公式 在另一个表中,当有人在单元格a1中输入数据,并且数据与我的查找表第1列中的项目相匹配时,我需要将第2列中的相应公式复制并粘贴到单元格b2中 很多google搜索试图找到一种方法让VLOOKUP复制公式来代替单元格值,但没有返回任何结果,所以我认为唯一的方法是通过VBA?这个小样本假设数据在C和D列中: Sub Matt() Dim r As Range, Tabl As Range Set Tabl = Range(
很多google搜索试图找到一种方法让VLOOKUP复制公式来代替单元格值,但没有返回任何结果,所以我认为唯一的方法是通过VBA?这个小样本假设数据在C和D列中:
Sub Matt()
Dim r As Range, Tabl As Range
Set Tabl = Range("C1:C1000")
Set r = Tabl.Find(What:=Range("A1").Value, After:=Tabl(1))
Range("B1").Formula = r.Offset(0, 1).Formula
End Sub
Sub Matt_The_Sequel2()
Dim r As Range, Tabl As Range, N As Long
Dim First_Row As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
First_Row = 4
For i = First_Row To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub
在A1中放置一个值,然后运行宏
编辑#1:
Sub Matt()
Dim r As Range, Tabl As Range
Set Tabl = Range("C1:C1000")
Set r = Tabl.Find(What:=Range("A1").Value, After:=Tabl(1))
Range("B1").Formula = r.Offset(0, 1).Formula
End Sub
Sub Matt_The_Sequel2()
Dim r As Range, Tabl As Range, N As Long
Dim First_Row As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
First_Row = 4
For i = First_Row To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub
此版本将向下循环列A
Sub Matt_The_Sequel()
Dim r As Range, Tabl As Range, N As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub
编辑#2:
Sub Matt()
Dim r As Range, Tabl As Range
Set Tabl = Range("C1:C1000")
Set r = Tabl.Find(What:=Range("A1").Value, After:=Tabl(1))
Range("B1").Formula = r.Offset(0, 1).Formula
End Sub
Sub Matt_The_Sequel2()
Dim r As Range, Tabl As Range, N As Long
Dim First_Row As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
First_Row = 4
For i = First_Row To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub
您想显示公式还是计算结果请尝试
INDIRECT()
我想计算公式的结果,然后尝试将INDIRECT
与VLOOKUP
组合,并向我们显示您的位置这是完美的。但是,最后一个请求,我如何在单元格B2中循环重复,B3等,只要A2、A3等中有条目?对不起,最后一条。。。如果我想抵消开始,例如:我希望循环从A4开始,而不是A1,因为我有两行标题等?顺便谢谢你的帮助!