vlookup 如何用VBA实现
我在1.xls中sheet中ABCD张三10李四20王五30在2.xls中sheet1中ABCDE王五X张三X求vba代码,在2.xls中,取得E列的值希望能运行速度快~...
我在1.xls中sheet中
A B C D
张三 10
李四 20
王五 30
在2.xls中sheet1中
A B C D E
王五 X
张三 X
求vba代码,在2.xls中,取得E列的值
希望能运行速度快~谢谢了,
不好意思,直接调用速度很慢的,我数据量比较大,不能直接调用 展开
A B C D
张三 10
李四 20
王五 30
在2.xls中sheet1中
A B C D E
王五 X
张三 X
求vba代码,在2.xls中,取得E列的值
希望能运行速度快~谢谢了,
不好意思,直接调用速度很慢的,我数据量比较大,不能直接调用 展开
6个回答
展开全部
1、首先在电脑上打开Excel表格,点击【开发工具】,【Visual Basic】。
2、在VBA工程项目里面双击“Sheet2(Sheet2)”打开代码输入窗口。
3、在代码窗口里面输入以下VBA程序代码:Private Sub Worksheet_SelectionChange(ByVal Target As Range) '工作表选定区域发生改变时执行,On Error Resume Next 'VBA忽略之后的语句错误。
4、在Sheet2表格上面的A3:A1000单元格输入查找值时,同一行的显示范围里面的单元格就会显示出相应的结果。
5、如果后续要继续使用该VBA程序,可以将表格另存为启用宏的工作薄。
展开全部
这个用VBA字典,最快最简单了,代码及注释如下:
sub main()
set dic=createobject("scripting.dictionary")'后期绑定字典
for i=1 to 100'Sheet1中有多少行,这里改为多少
dic(sheets(1).cells(i,"A").value)=sheets(1).cells(i,"C")'Sheet1中名为字典目录,数值为字典项目
next
for i=1 to 200'sheet2中最大行数
if dic.exists(cells(i,"A").value) then'如果字典中存在
cells(i,"C")=dic(cells(i,"A").value)'将字典中相应的值赋予C列中
end if
next i
end sub
sub main()
set dic=createobject("scripting.dictionary")'后期绑定字典
for i=1 to 100'Sheet1中有多少行,这里改为多少
dic(sheets(1).cells(i,"A").value)=sheets(1).cells(i,"C")'Sheet1中名为字典目录,数值为字典项目
next
for i=1 to 200'sheet2中最大行数
if dic.exists(cells(i,"A").value) then'如果字典中存在
cells(i,"C")=dic(cells(i,"A").value)'将字典中相应的值赋予C列中
end if
next i
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在VBA中用下面的格式直接调用
Application.WorksheetFunction.函数名
那你试试用这个宏.
具体的参数你根据你的情况修改.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Dim rng1 As Range
aa = Target
Set rng1 = Sheet1.Range("B:B").Find(aa, lookat:=xlWhole)
If Not rng1 Is Nothing Then
Target.Offset(0, 3) = rng1.Offset(0, 1)
End If
End If
End Sub
Application.WorksheetFunction.函数名
那你试试用这个宏.
具体的参数你根据你的情况修改.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Dim rng1 As Range
aa = Target
Set rng1 = Sheet1.Range("B:B").Find(aa, lookat:=xlWhole)
If Not rng1 Is Nothing Then
Target.Offset(0, 3) = rng1.Offset(0, 1)
End If
End If
End Sub
追问
请教, 有个excel(1.xls和2.xls),源数据来自于1.xls的sheet1,在2.xls中取E列,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
追问
这个例子是在同个excl中的哦,我的是2个excel
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你到底是调到那个地方,调什么样的数据?执行vba本身并不见得比函数块。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询