Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6584|回复: 28

[VBA特抢13]excel禁止删除符合条件的行

[复制链接]
发表于 2010-12-2 21:43 | 显示全部楼层 |阅读模式
<p>&nbsp; 要求做到如下面动画演示效果,即:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你删除在职的员工记录(B列标识为Y),就会提示你禁止删除,然后自动恢复删除前的记录。如果删除不在职的(B列标识为N)则不提示并顺利删除。</p><p>请用回复可见方式回答</p><br/>
[此贴子已经被作者于2010-12-2 21:44:42编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2010-12-2 21:54 | 显示全部楼层
回复

使用道具 举报

发表于 2010-12-2 22:26 | 显示全部楼层
回复

使用道具 举报

发表于 2010-12-3 01:20 | 显示全部楼层

<div>根据兰版的动画演示,只考虑了删除一行的情况,没有敢考虑删除多行的情况</div><div><br/></div>
游客,如果您要查看本帖隐藏内容请回复
</div>
回复

使用道具 举报

发表于 2010-12-3 08:00 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>wbzxz</i>在2010-12-3 1:20:00的发言:</b><br/><div>根据兰版的动画演示,只考虑了删除一行的情况,没有敢考虑删除多行的情况</div><div><br/></div></div><div></div><p>回答的很好</p>[em07]
回复

使用道具 举报

发表于 2010-12-3 08:44 | 显示全部楼层

<p>
游客,如果您要查看本帖隐藏内容请回复
</p><p>我也做了一个,感觉比价困难,只能按照兰版固定的操作执行,能够恢复,估计还是存在很多Bug</p><p>ublic Flag As String<br/>ublic Pe As String<br/>ublic Rnum As String</p><p></p><p><br/>rivate Sub Worksheet_Change(ByVal Target As Range)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim pe1 As String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim flag1 As String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pe1 = Pe<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag1 = Flag<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Flag = "N" Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "在职员工记录不能删除,即将恢复!"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With Sheet1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Range(.Cells(Rnum, 1), .Cells(Rnum, 2)).Select<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Selection.Insert Shift:=xlDown<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Cells(Rnum, 1) = pe1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Cells(Rnum, 2) = flag1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>End Sub</p><p>rivate Sub Worksheet_SelectionChange(ByVal Target As Range)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pe = Target.Cells(1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rnum = Target.Cells(1, 1).Row<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flag = Target.Cells(1, 2)<br/>End Sub</p>
回复

使用道具 举报

发表于 2010-12-3 10:39 | 显示全部楼层

<p>学习一下。</p>
回复

使用道具 举报

发表于 2010-12-3 11:54 | 显示全部楼层

<p><font face="Courier" new="">
游客,如果您要查看本帖隐藏内容请回复
</font></p><p>忘回复可见了<br/></p>[em06]
[此贴子已经被作者于2010-12-3 11:56:12编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2010-12-4 11:28 | 显示全部楼层

学习
回复

使用道具 举报

发表于 2010-12-4 11:31 | 显示全部楼层

直接看看答案,学习!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2025-8-15 21:54 , Processed in 4.042384 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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