ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

指定查找、新增、保存、删除、修改两个工作表内完成

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-7-24 17:44 | 显示全部楼层 |阅读模式
这个完成一半的表格是我在这里模仿的,我是小白,求助各位大神帮帮忙,每次来到这里都让我很惊讶

新增、查询、保存模块是我模仿大神做的,可是修改、删除不会做,

修改是吧表一里的指定数据在表二修改完成

删除就复杂点了,表一里K5数据,在表二里B列整行删除

我找了好久也模仿不了,求各位大神帮帮忙,还有之前模仿的公式有没有错的需要改动的
1595583627(1).jpg

户口登记1.rar

17.18 KB, 下载次数: 38

TA的精华主题

TA的得分主题

发表于 2020-7-25 09:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 修改数据()
Dim rng As Range
With Sheets("人口信息登记")
    bh = Trim(.[k4])
    If bh = "" Then MsgBox "请先输入编号": Exit Sub
    Set rng = Sheets("人口数据库").Columns(1).Find(bh, , , 1)
    If rng Is Nothing Then MsgBox bh & "在人口数据库中不存在": Exit Sub
    r = rng.Row
    ar = Array(.[k4], .[k5], .[k6], .[d5], .[d7], .[d8], .[d6], .[d9], .[d10], .[h10], .[k8], .[k7], .[k9], .[k10], .[k11], .[d11], .[f11], .[i11], .[c12], .[f12], .[i12], .[k12])
End With
With Sheets("人口数据库")
    .Cells(r, 1).Resize(1, 22) = ar
End With
MsgBox "ok!"
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-7-25 09:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1、代码是根据  自动系统编号  判断对相应行数据做修改的,
2、很多细节为考虑,代码仅为你提供一个思路
3、删除的代码其实更简单,利用目前的代码。判断所在行就可

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-7-26 09:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
3190496160 发表于 2020-7-25 09:33
Sub 修改数据()
Dim rng As Range
With Sheets("人口信息登记")

修改已经成功了,谢谢你,确实很好用,

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-7-26 09:36 | 显示全部楼层
3190496160 发表于 2020-7-25 09:35
1、代码是根据  自动系统编号  判断对相应行数据做修改的,
2、很多细节为考虑,代码仅为你提供一个思路
...

修改都帮我编程好了,如果方便,还是帮我编程一下删除吧,我一点也不会,真的谢谢你了,给你点赞哈哈哈

TA的精华主题

TA的得分主题

发表于 2020-7-26 10:44 | 显示全部楼层
lihongwe 发表于 2020-7-26 09:36
修改都帮我编程好了,如果方便,还是帮我编程一下删除吧,我一点也不会,真的谢谢你了,给你点赞哈哈 ...

毛老人家说过一句话,自己动手丰衣足食

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-7-26 10:50 | 显示全部楼层
3190496160 发表于 2020-7-26 10:44
毛老人家说过一句话,自己动手丰衣足食

好的,谢谢你,我是很笨,我会努力学好的

TA的精华主题

TA的得分主题

发表于 2020-7-26 11:26 来自手机 | 显示全部楼层
lihongwe 发表于 2020-7-26 10:50
好的,谢谢你,我是很笨,我会努力学好的

我帮你弄好很简单关键是你自己要学到一点东西在实际应用当中出点小状况你自己才能够处理,其实给你的代码当中就有一句关键的定位行的代码你套用那句代码就可以了呀不懂你可以认真的看一下每一句代码的意思

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-7-26 12:40 | 显示全部楼层
3190496160 发表于 2020-7-26 11:26
我帮你弄好很简单关键是你自己要学到一点东西在实际应用当中出点小状况你自己才能够处理,其实给你的代码 ...

研究了半天还是不行,提示下标越界
我是真的一点不懂,特意找了语句翻译,还是不合理,现在我只想查找代码,删除本行就可以
下面是我自己做的,没有成功,我觉得我做的,驴唇不对马嘴
Sub ???()
Dim rng As Range
With Sheets("?????????")
    bh = Trim(.[k4])
    If bh = "" Then MsgBox "??????????": Exit Sub
    Set rng = Sheets("????????").Columns(1).Find(bh, , , 1)
    If rng Is Nothing Then MsgBox bh & "???????????в?????": Exit Sub
    If Sheets("????????").[A:A].Find([k4]) = [k4] Then
    Else
    Sheets("????????").Delete shift:=xlUp
MsgBox "????????!"
    End If
    End With
End Sub
在这里也不会打代码,晕死

TA的精华主题

TA的得分主题

发表于 2020-7-26 13:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 删除行()
Dim rng As Range
With Sheets("人口信息登记")
    bh = Trim(.[k4])
    If bh = "" Then MsgBox "请先输入编号": Exit Sub
    Set rng = Sheets("人口数据库").Columns(1).Find(bh, , , 1)
    If rng Is Nothing Then MsgBox bh & "在人口数据库中不存在": Exit Sub
    r = rng.Row
End With
With Sheets("人口数据库")
    .Rows(r).Delete
End With
MsgBox "ok!"
End Sub

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 10:22 , Processed in 0.037429 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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