因为EXCEL表中大量使用VLOOKUP导致很卡,在网上查了VBA,但只能每次改了信息数据然后手动更新,有自动吗

submain()setdic=createobject("scripting.dictionary")'后期绑定字典fori=1to100'Sheet1中有多少行,这里... 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

如果新增或更改字典的内容,sheets(2)就要重新运行下宏。。。。。。
展开
 我来答
平阳虎01
高粉答主

2017-12-20 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:4961万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row <= [a65536].End(3).Row Then
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 If
End Sub
freegoto
2017-12-20 · TA获得超过2204个赞
知道大有可为答主
回答量:1754
采纳率:80%
帮助的人:356万
展开全部

Private Sub Worksheet_Change(ByVal Target As Range)
main
End Sub

右击sheets(2)》查看代码》粘贴这段代码。原代码保留

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lose21克
2018-10-21
知道答主
回答量:2
采纳率:0%
帮助的人:1513
展开全部
推荐一个工具,vba编写实现vlookup大量数据检索功能https://www.jianshu.com/p/fe438799d829
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2017-12-20 · TA获得超过1663个赞
知道小有建树答主
回答量:6318
采纳率:30%
帮助的人:932万
展开全部
修改完成后,你再执行就好了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2017-12-21 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:8999万
展开全部
把标题修改为 单元格事件
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式