EXCEL的每个单元格实现一次输入后就无法再更改

2024-12-03 22:06:08
推荐回答(4个)
回答1:

楼主,昨天帮一个朋友做了一个东西,就是输入后即不准再改,没输入地方可以随意输入。我做的是,数据输入完成后就会有一个确认按钮出来,输入的数据不完整, 如该输入的格没有填入内容,确认按钮不会出来。只要输入的数据输入完成,"确认"按钮就会显示出来,同时只要他按了确认按钮,输入的数据就不可以再改动。 不知道这样满足您的题意不?

如果想看看,HI我,我给您发个样本过来.

回答者: lxlzmh2002 - 大魔法师 九级 2009-8-27 19:15
======================================================================
再答此题, 我真就不信了,这是何等难题,答了也是白答?

请看实例: 9月1日PM8:30前下载有效
http://222.73.108.49/cgi-bin/down.cgi?path=/rKYnsT2S/mzhu@herc-jm.com&filename=%E6%9C%88%E5%84%BF%E5%9C%86.xls&sk=Tdf6vW3g&lang=gb
本例为将C输入的定信息代码分解出有效信息,确认无误后再"更新"至各分表。

其中, 一旦信息确认"更新"后, 已录入单元格进行锁定。本例仅供各位参考能否进行锁定判断。

操作说明: C列为固定格式信息的录入列。本例中已提供一个信息样本。双击已提供信息,回车。右侧点更新按钮,更新后所有录入的数据进行锁定。未锁定的C列行可继续录入。

***关于楼主提到的,对于未锁定单元格的删除行的问题回复:

1. 对于未锁定单元格, 不仅可以删除行,还可以删除列呢

2. "锁定"和"不锁定"单元格的区别只有在工作表保护状态下才能看得出来。因为需要使用者输入,所以会开放一些不锁定单元格给用户录入数据。从本质上工作表已经是被保护的工作表了。

3. 保护工作表的作用仅仅对有"锁定"状态单元格起作用(作用包括禁止删除行列), 但对于未"锁定"状态单元格(就是开放给用户录入的), 工作表保护对此无效。即用户可以在未锁定单元格上可以随意删除整行,或整列。

4. 因为需要录入所以不能"锁定", 因为未"锁定"所以不能禁止删除整行整列。这句话看起来是"死循环", 冒似已无解。

5. 但是,"苍茫南海定有一束仙方"。虽然我们不能对删除整行整列动作的执行加以限制,但是我们可以禁止使用者..使用"删除行列"的功能。其中包括: a.禁用右键菜单中的"删除"选项 b. 禁用编辑菜单中的"删除"选项 c.禁用工作栏上的"删除","删除行","删除列"按钮.

使用者不是可能会删除吗? 我将这些功能都禁用,他还能拿什么删?~~~

再给一个不能删除行列的办法:

假如您的行列数是固定的话, 还可以使用"恢复"。虽然我们不能对删除整行整列动作的执行加以限制,我们还可以用如果你删我就恢复的办法来处理。原理如下:

VBA有change事件用来记录单元格发生改变,在这个事件中可以做到,如果一旦发现行列数变少了,就application.undo(恢复到删除之前).

使用者不是会删除吗? 他删一万次,程序就恢复一万次,直到强悍的使用者筋皮力尽放弃念头为止。如果他坚持不放弃删除,就累到他吐血为止...天啊, 我还真没想到做VBA程序竟可以杀人...

楼主,这两个防止删除的方法,分别是"事前禁用","事后处理"的办法("事中"前文我已说清楚, 因为未锁定部分而不能进行处理)。

如果您还有更好的办法请告我知, 我赔您本贴积分损失。
=====================================================================================================
再来回复一次此贴, 且也是本人最后一次回复本贴

楼主补充问题 "我希望的是只在日期列提示修改日期,另外,能否把代码不显示出来呢?"

1. 日期列提示修改日期
答: 假设您的日期列是B列, 在Worksheet_change事件中增加
if Target.column = 2 then '判断change是否发生在B列
msgbox "修改日期为:" & date '提示日期
end if

2. 能否把代码不显示出来?
答: 能。用Alt+F11进入VBE环境下-->选"工具"菜单-->VBAProject属性-->保护-->钩选"查看时锁定工程"-->下面"工程属性密码"处,输入密码后确认-->保存文件。 这样,在未知密码的情况下,代码不能查看,更不会显示出来。

楼主,作为一个求知者,我很不满意你的所对提问采取的态度。我已经不止一次地 对您的问题未解决的补充提问进行过多次回复,我也告知过你我解决过此类问题的经验和做法(还有实例为证)。而你在问题未解决时,始终坚持向同一位回答者寻找答案. 您的问题至今仍未解决,而我的回复你从未做出回应。

不管怎么样,你在这里公开提问,就是公开地寻找答案。而你现在的行为, 不仅是对每一位回复者的极不尊重,而且已经违反知道提问及回复基本原则。我将对您的这种行为进行举报,您可能还会受到罚分惩罚。

特别说明:
第一, 我已经对您所提问题,一一回复。但我不希望给你我最佳答案。
第二,即便是您给了我,我也一样会举报本贴,所得积分也会清除。
第三,我还是希望您的提问得到最终解决,所以我不会马上举报,给您三天时间完成你的提问,我9月2日晚举报此贴

回答2:

究竟是要可以修改的、还是要不能修改的呢?
1、要可以修改的——
不用设置。
2、要不能修改的——
菜单栏—工具—保护—保护工作表—两次输入密码—确定。
3、显示出来最后修改时间和修改用户——
插入批注。
回答者: Stcxj - 榜眼 十三级 2009-8-25 19:16

看花了,还不知道“子衿666”是哪位高手,看你多次提及,还真想拜他为师呢。可没见到他回答问题呀!
http://passport.baidu.com/?business&aid=6&un=子衿666#2
“子衿666”,露一露脸吧!

回答3:

点表格上方的工具-保护-保护工作表-输入密码-确定即可

回答4:

这问题应该很不难,是否已请子衿666电话解决了?似乎别人答了也是白搭,是吧?