excel中如何用vba,让表格所有列不能被删除(复杂)
只能删除行(第1,2行不能删除),不能删除列。注意:不能闪烁的厉害。本人对VBA只是有一点了解,请大侠帮我写一下好吗,现在也没时间学,以后我想买一本书,看一下...
只能删除行(第1,2行不能删除),不能删除列。注意:不能闪烁的厉害。
本人对VBA只是有一点了解,请大侠帮我写一下好吗,现在也没时间学,以后我想买一本书,看一下 展开
本人对VBA只是有一点了解,请大侠帮我写一下好吗,现在也没时间学,以后我想买一本书,看一下 展开
1个回答
展开全部
我曾经回答过你这个问题,看来你对我的解决中闪烁问题不太满意。
其实我后来也在想办法,我想到了一个办法,还过我现在不太愿意再写VBA代码了,你如果VBA功力好,我可以把我的思路贡献给你:
1、利用SelectChange事件,来捕捉用户选择工作表区域的行为
2、用VBA把系统菜单、快捷菜单中删除列的菜单项都封了,这样他就是选择了也无法调用删除菜单
3、把系统菜单和快捷菜单中的删除行菜单项封了。如果在SelectChange事件中,用户选择的不是第1、2行,重新激活这个菜单项允许他删除,不然仍然保持菜单项的不可用状态
4、最好能用VBA把相关的快捷键也封了
这样解决不是采用的UNDO机制,所以不会闪烁,用户可以选列,便选中后删除菜单不可用,仍然删不了。
你自已去写这个VBA吧。也不算难的。
其实我后来也在想办法,我想到了一个办法,还过我现在不太愿意再写VBA代码了,你如果VBA功力好,我可以把我的思路贡献给你:
1、利用SelectChange事件,来捕捉用户选择工作表区域的行为
2、用VBA把系统菜单、快捷菜单中删除列的菜单项都封了,这样他就是选择了也无法调用删除菜单
3、把系统菜单和快捷菜单中的删除行菜单项封了。如果在SelectChange事件中,用户选择的不是第1、2行,重新激活这个菜单项允许他删除,不然仍然保持菜单项的不可用状态
4、最好能用VBA把相关的快捷键也封了
这样解决不是采用的UNDO机制,所以不会闪烁,用户可以选列,便选中后删除菜单不可用,仍然删不了。
你自已去写这个VBA吧。也不算难的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |