exceL中vBA
exceL中vBA假如全集为0123456789,子集为0124569,求出补集378。这样的情况用vBA怎么写。万分感谢!...
exceL中vBA假如全集为0123456789,子集为0124569,求出补集378。这样的情况用vBA怎么写。万分感谢!
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
2个回答
展开全部
Excel_VBA到底是个啥!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有快的方法和慢的。
快的是首先创建一个字典对象,把子集遍历添加进入。然后再遍历全集进行判断是否存在于字典(反过来也行)。
慢的是用两个for镶套,
for q=7 to Range("IV2").End(xlToLeft).Column
for w=7 to Range("IV3").End(xlToLeft).Column
if cells(2,q)=cells(3,w) then
e=e+1
end if
next w
if e>0 then
e=“”
else
cells(4,r)=cells(2,q)
r=r+1
end if
next q
变量自己定义
快的是首先创建一个字典对象,把子集遍历添加进入。然后再遍历全集进行判断是否存在于字典(反过来也行)。
慢的是用两个for镶套,
for q=7 to Range("IV2").End(xlToLeft).Column
for w=7 to Range("IV3").End(xlToLeft).Column
if cells(2,q)=cells(3,w) then
e=e+1
end if
next w
if e>0 then
e=“”
else
cells(4,r)=cells(2,q)
r=r+1
end if
next q
变量自己定义
追答
数据少直接用镶套遍历就解决了。如果想了解字典,可以百度
追问
全集0到9是确定的,但子集的个数有可能是5个8个是3个,也可能是0到9是等于全集的,这个时候补集为空。请问这个用字典怎么写。谢谢您了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询