ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 跨工作簿录查改删数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-3 14:48 | 显示全部楼层
分别写了4个模块,供参考。

除了查询模块对员工编号没要求外,其他的都最少有编号,请看源码吧
image.png
image.png

跨工作簿登查改删数据.zip

32.2 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2024-5-3 19:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ado+sql,实现起来相对容易些

TA的精华主题

TA的得分主题

发表于 2024-5-3 20:14 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-3 20:16 | 显示全部楼层
quqiyuan 发表于 2024-5-3 14:48
分别写了4个模块,供参考。

除了查询模块对员工编号没要求外,其他的都最少有编号,请看源码吧

老师你们的代码都不错,录入查询都好,就是修改和删除不行。也许是我的要求没表达清楚。现在我已截图形式再描述一下,但愿老师能理解,并帮忙解答。谢谢(以员工编号为ID)
删除效果.png
修改效果.png

TA的精华主题

TA的得分主题

发表于 2024-5-3 21:54 | 显示全部楼层
增加了批量的三个模块。我测试是可以的,供你参考。单个的新增、修改、删除在第五行输入数据,主要是员工编号是关键字。后面的批量的几个也是员工编号是关键字
image.png
image.png
image.png

跨工作簿登查改删数据.zip

33.63 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2024-5-3 22:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
新增刚刚修改了一下,如果员工编号已经在数据库里,就不增加的
  1. Sub 新增()
  2. Set sh1 = ThisWorkbook.Sheets("表2")
  3.     If sh1.[d5] = "" Then Exit Sub
  4. Application.DisplayAlerts = 0
  5. f = ThisWorkbook.Path & "\数据.xls"
  6. Set wb = Workbooks.Open(f, 0)
  7. Set sht = wb.Sheets("表1")
  8. Set d = CreateObject("scripting.dictionary")
  9.     rr = sht.Cells(Rows.Count, 2).End(3).Row
  10.     arr = sht.Range("b5:n" & rr)
  11.     For i = 1 To UBound(arr)
  12.         d(arr(i, 3)) = arr(i, 3)
  13.     Next
  14.     If Not d.exists(sh1.[d5].Value) Then
  15.         sh1.Range("b5:n5").Copy sht.Range("b" & rr + 1)
  16.         With sht.Range("b" & rr + 1).Resize(1, 13)
  17.             .Font.Color = 1
  18.             .HorizontalAlignment = xlCenter
  19.             .VerticalAlignment = xlCenter
  20.             .Font.Size = 10
  21.             .Font.Bold = False
  22.             .Borders.LineStyle = 1
  23.         End With
  24.     Else
  25.         MsgBox "数据库已经有了,不需要加入!!"
  26.     End If
  27. wb.Save
  28. wb.Close 0
  29. Application.DisplayAlerts = 1
  30. Beep
  31. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-4 07:50 | 显示全部楼层
quqiyuan 发表于 2024-5-3 22:44
新增刚刚修改了一下,如果员工编号已经在数据库里,就不增加的

老师谢谢,新增,修改都可以。就是删除,我想的是只删除我选中的数据行(或选中的多个员工编号),不是所有的查询结果区域数据、能否麻烦老师,您再改改?谢谢

TA的精华主题

TA的得分主题

发表于 2024-5-4 09:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png

跨工作簿登查改删数据.zip

37.51 KB, 下载次数: 16

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-4 13:09 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢老师,可以了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 06:55 , Processed in 0.041036 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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