养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何让Excel空单元格只能输入一次数据

时间:2024-10-01 17:15:56

、我们如何才能做到,在Excel工作薄的任何一张工作表里面,任意的一个单元格,只能输入一次数据。   意思就是说,任何一个单元格,只能输入一次,即,空单元格允许输入第一次数据;非空单元格,不能删除不能修改数据。   言归正传,下面是实现的方法,请您过目,希望对您有所帮助。

方法/步骤

1、实现的原理   通过判断被选中的单元格,是否有内容;如果有,那么,当被修改成为其它数据时,会自动返回到原来的数据,以此达到不能修改的目的,同时,也不能删除原有的数据。   如果被选择的单元格是空的,没有数据,那么,就允许输入。   实现方法   必须使用VBA程序代码来控制。   为方便不懂VBA的网友学习,本文尽量耐心的讲。   首先,如下图一样,

如何让Excel空单元格只能输入一次数据

2、在任何一个工作表名称上面,点击右键,在弹出的菜单中选择“查看代码”,这样,就进入到vba代码编写窗口了。   接着,就能看到下图了。

如何让Excel空单元格只能输入一次数据

3、首先,我们在ThisWorkbook上点击右键,在弹出的快捷菜单中选择“查看代码”,弹出代码编写窗口,如下图!

如何让Excel空单元格只能输入一次数据

4、上图,就是功能代码了。   照着输入就行了,因为是通用的代码,啥地方都不需要修改。   为方便您的学习,下面将代码粘贴如下:   DimMyRowAsInteger  DimMyColumnAsInteger  DimMyOldValueAsString  DimMyNewValueAsString  PrivateSubWorkbook_SheetSelectionChange(ByValShAsObject,ByValTargetAsRange)   MyRow=Target.Row   MyColumn=Target.Column   MyOldValue=Cells(MyRow,MyColumn).Value  EndSub  PrivateSubWorkbook_SheetChange(ByValShAsObject,ByValTargetAsRange)   MyRow=Target.Row   MyColumn=Target.Column   MyNewValue=Cells(MyRow,MyColumn).Value   If(Trim(MyOldValue)<>"")Then   Cells(MyRow,MyColumn).Value=MyOldValue   Else   Cells(MyRow,MyColumn).Value=MyNewValue  EndIf  EndSub   代码说明   DimMyRowAsInteger  DimMyColumnAsInteger  DimMyOldValueAsString  DimMyNewValueAsString  这三行代码写在通用处。   另外的两段代码,照着写没问题!

© 一点知识