ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1625|回复: 7

[求助] 从新建的工作簿填入相应的单位后,自动从总工作簿导入该单位的员工名单

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-2 23:38 | 显示全部楼层 |阅读模式
本帖最后由 cwfstation 于 2012-9-3 00:10 编辑

各位老师,我这贴子原来是在函数与公式版块求助的,刚才有个老师建议我把帖子放在VBA这边求助,原因是用函数公式很难解决,希望在VBA这版块得到各位老师的帮忙。

我这求助的目的是,将现在的‘数据源’这表格作为一个汇总录入的数据(单位里有基层、分公司、区域等),方便以后各部门的数据直接粘贴,然后再根据‘数据源’里记录的单位分别新建像‘基层’和‘分公司’这样的工作簿,在这些工作簿内,只要在单位填写相应的单位(基层)对应过来的E2,则表下的B8开始自动从‘数据源’的工作簿自动把属于该单位的员工名单导入到‘基层’工作簿,谢谢
如果需要设一个‘导入’键的情况(这是最理想的,有一个导入键,输入单位后,按这‘更新’键,再把属于该单位的员工名单从‘数据源工作簿’导入,麻烦老师帮忙解说详尽一点,谢谢!
无标题.png
上面这图片描述错了,对应单位在E2,数据在A8下面,获取的数据会直接导入到A8.........A9........A.....
数据分拆.zip (17.99 KB, 下载次数: 14)

TA的精华主题

TA的得分主题

发表于 2012-9-3 02:31 | 显示全部楼层
  1. Option Explicit
  2. Sub l()
  3.     Dim cnn As Object
  4.     Set cnn = CreateObject("ADODB.Connection")
  5.     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\数据源.xls"
  6.     Sheet1.Range("b8:c67").ClearContents
  7.     Range("b8").CopyFromRecordset cnn.Execute("select 姓名,工作天数 from [数据源$a:d] where 单位='" & Sheet1.[e2] & "'")
  8.     cnn.Close
  9. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2012-9-3 02:32 | 显示全部楼层
将数据源跟附件工作表放在同一目录下,然后修改E2单元格为 基层或者其他  点击按纽
EH(AVEL)-基层 12-09-03 02-31.rar (17.19 KB, 下载次数: 38)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-3 09:08 | 显示全部楼层
非常感谢  AVEL  老师,这个问题我放在函数与公式已经好几天了,都没有办法解决,在这里一下子就OK了,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-3 09:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老师,我现在换了一个表,又不清楚怎样改了,麻烦你再帮忙看一下,谢谢

Desktop.zip

21.66 KB, 下载次数: 16

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-3 12:33 | 显示全部楼层
再请各位老师帮忙解决5楼的附件问题,因为我自己不会做VBA,所以换了一个表就不会做了,如果老师能详细讲解一下每一句的意思那就最理想了,谢谢

TA的精华主题

TA的得分主题

发表于 2012-9-3 15:34 | 显示全部楼层
  1. Option Explicit
  2. Sub l()
  3.     Dim cnn As Object
  4.     Set cnn = CreateObject("ADODB.Connection")
  5.    cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;extended properties='excel 12.0;hdr=no;';Data Source=" & ThisWorkbook.Path & "\网络员工资料源.xlsx"
  6.     Sheet1.Range("b8:c67").ClearContents
  7.     Range("b8").CopyFromRecordset cnn.Execute("select f3,f4 from [网络员工绩效评估录入$a5:d60000] where f1='" & Sheet1.[e2] & "'")
  8.     cnn.Close
  9. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-8-23 11:42 | 显示全部楼层
Range("b8").CopyFromRecordset cnn.Execute("select f3,f4 from [网络员工绩效评估录入$a5:d60000] where f1='" & Sheet1.[e2] & "'")
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 15:59 , Processed in 0.026422 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表