vba在其它工作簿指定区域查找指定内容,并复制单元格下所有数据到当前工作表指定位置

上面是基础数据工作簿

这是另一工作簿里面的一个工作表
希望:1 当班级工作表中c2里面班级更改时,在B列能从基础数据表自动更新本班学生名单(班级工作表中可插入更新命令按钮)
   2 班级工作表可能会复制为一式数个,只是更改班级名不同,但都能成功更新本班学生名单。
   3 希望提供vba并注释。谢谢!

其实你的这个要求并不难实现,如果设置得当的话,也不需要VBA。只用公式,名称就完全可以达到这个目的。



当然,我这个是在同一个工作簿中:

1、 定义B1:I11,即原数据表为 名称 “xuesheng”;

2、在目标表中姓名列下输入如图的公式,再下拉到所需要的单元格即可。


对于不在同一个工作簿中的,可以用以下方法来变相实现:

1、 在目标表所在的工作簿中新建一个工作表(以下简称“A表”),同时,打开原基础数据表(以下简称“B表”);

2、 在A表中A1单元格输入“=”,然后选到B表,点击B表的A1单元格;也就是建立引用关系。

至于是用绝对引用,还是用相对引用,请自行根据应用实际情况决定;

3、此时就可以像之前在一个工作簿一样操作,设置,就能显示所需要的姓名列表了。


每次打开该工作簿时,会提示要更新链接,直接点确定就好了。嫌麻烦,可以在“信任中心”里把“更新链接”设置为启动时自动更新。

追问

你好。是考虑过你这样变相实现的,但基础表被引用的还有很多应用,每次都这样还是有点麻烦。如果基础表中的名称定义能用到其它工作簿就好了。另外基础表中的班级也是动态显示的,依据当前时间自动判断应该是几年级几班的。所以,还是想先考虑在vba中打开基础数据工作簿,再想找给定的班级,取得该班的学生名单。谢谢你,继续想办法哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-11
把你的文件发给我:syx54@sohu点com追问

你好,已发文件给你。谢谢

追答

没有收到?要不再发一个到:syx54@163点com
注意,在这里无法用真实的点???

相似回答