299871-VBA-工作表事件-条件禁止修改单元格内容

合集下载

如何禁止VBA控件的事件

如何禁止VBA控件的事件

如何禁止VBA控件的事件在Excel中使用VBA写代码,常常会使用控件。

有时候,我们希望控件的事件在一定条件下不要执行。

这时候我们该如何禁用控件的事件呢?有人会说,VBA不是提供了一个Application.EnableEvents对事件进行开关嘛,直接用Application.EnableEvents=False语句,把事件关闭了,不就好了吗!这条语句我试过了,它不能关闭VBA控件的事件。

那我们该怎么办呢?VBA控件给我们提供了另外一种解决办法。

以Listbox的AfterUpdate和Change事件为例,说明如何在一定条件下禁止控件的事件。

Excel的帮助中是这样描述AfterUpdate的,“在通过用户界面更改了控件中的数据后,此事件发生”。

这里暗示,如果通过代码更改Listbox的内容,AfterUpdate事件是不会发生的。

我们再来看Change事件。

Excel的帮助中是这样描述Change的,“当Value属性改变时该事件发生”。

这里暗示,无论是通过界面还是通过代码改变了Listbox的Value属性,Change事件都会发生。

所以,比较AfterUpdate和Change事件,我们不难发现,VBA不是直接提供一个命令来关闭控件的事件,而是通过提供两个不同的事件来达到禁止控件事件这一目的。

当你想在某时候禁用控件的事件时,不妨试试控件的AfterUpdate事件(或者BeforeUpdate事件),也许能达到你的目的。

^_^(Application.EnableEvents能禁用诸如Application、Workbook和Worksheet等对象的事件。

在英语中,对象的单词是object,控件的单词是control。

所以,从单词上看,对象和控件是不同的东西。

)。

利用VBA设置工作表使用权限

利用VBA设置工作表使用权限

利用VBA设置工作表使用权限利用VBA设置工作表使用权限Excel Home一般保护工作表采取的方法是用EXCEL菜单中的"保护"命令,有时这尚嫌不足,比如一些机密文件根本要让某些使用者无法看到,但又需要他来操作工作簿中的其他表,怎么办?可以打开VBA编辑器,打开"工程资源管理器",双击该工作表,现在出现的是设置该表的属性的编辑窗口,单击窗口左上的下拉列表框,选择worksheet ,这时再从该窗口右上方的列表框中选择Active("激活"),这时自动显示如下的语句块:Private Sub Worksheet_Activate()End Sub在其中加入代码:(假设用"123"作为密码,Sheet"机密文档"为限制权限文档,sheet"普通文档"为工作簿中你认为任何适合的工作表)If Application.InputBox("请输入操作权限密码:") = 123 ThenRange("A1").SelectElseMsgbox "密码错误,即将退出!"Sheets("普通文档").SelectEnd if程序如下:Private Sub Worksheet_Activate()If Application.InputBox("请输入操作权限密码:") = 123 ThenRange("A1").SelectElseMsgBox "密码错误,即将退出!"Sheets("普通文档").SelectEnd IfEnd Sub这样做仍有一个问题,就是越权使用者仍会看到一些文件的片段,即在提示密码的那段时间。

好,你可以这样做,用上述方法选择工作表的Deactivate事件,输入以下代码:Sheets("机密文档").Cells.Font.ColorIndex = 2这段程序使得此工作表在不被激活时,所有文字为白色。

限定excel工作表可用编辑范围的几种方法

限定excel工作表可用编辑范围的几种方法
设置条件格式规则
在弹出的对话框中,选择“使用公式确定要设置的 单元格格式”,然后输入相应的公式来限定编辑范 围。例如,可以使用公式“=ISNUMBER(A1)”来 限定单元格A1只能输入数字。
打开条件格式功能
点击Excel顶部菜单栏中的“条件格式”按钮,选 择“新建规则”。
设置格式
在“格式”选项中,可以设置满足条件的单元格 的格式,如背景色、字体颜色等,以便区分。
打开Excel,按Alt + F11 进入VBA编辑器。
步骤详解
```vba Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1:B10")) Is Nothing Then
财务报表
防止非专业人员误修改财务数据, 确保数据的准确性。
项目计划表
保护项目关键信息不被误修改, 保证项目的顺利进行。
Part
02
限定编辑范围方法一:使用保 护单元格功能
步骤详解
选择允许编辑的区域
在Excel工作表中,首先选中允许 用户编辑的单元格区域。
保护工作表
再次点击“审阅”选项卡中的“ 保护工作表”按钮,设置密码( 可选),然后确认保护。
优缺点分析
优点
使用条件格式功能可以直观地标记出不符合编辑条件的单元格,方便用户识别 并修改。同时,该方法具有较高的灵活性和可定制性,可以根据实际需求设置 不同的条件和格式。
缺点
条件格式功能相对复杂,需要一定的Excel使用经验。此外,如果设置的条件过 多或过于复杂,可能会影响工作表的性能,导致运行缓慢或卡顿。
致谢

VBA中的单元格输入限制与校验方法详解

VBA中的单元格输入限制与校验方法详解

VBA中的单元格输入限制与校验方法详解在VBA中,单元格输入限制和校验可以帮助我们确保数据的准确性和完整性。

通过定义特定的规则和限制,我们可以有效地控制用户在单元格中输入的内容。

本文将详细介绍VBA中的单元格输入限制与校验方法。

一、数据有效性(Data Validation)数据有效性是一种常用的数据校验方法,它是通过设置特定的约束条件来限制单元格中输入数据的范围和规则。

例如,我们可以设置一个单元格只允许输入日期、整数、特定列表中的数据或自定义的公式等。

下面是一个示例,展示如何在VBA中使用数据有效性来限制用户输入的范围:```VBASub SetDataValidation()With Range("A1").Validation.Delete ' 删除现有的数据有效性约束.Add Type:=xlValidateDecimal, AlertStyle:=xlValidAlertStop,Operator:=xlBetween, Formula1:="0", Formula2:="100" ' 设置数值范围,只允许输入0到100之间的数值.ErrorMessage = "Please enter a value between 0 and 100." ' 设置错误提示信息.InputTitle = "Input" ' 设置输入提示标题.InputMessage = "Enter a value between 0 and 100." ' 设置输入提示信息End WithEnd Sub```以上代码中,我们使用了`Range("A1").Validation`来获取A1单元格的数据有效性对象。

然后,我们调用了对象的方法和属性来设置约束条件,包括数据类型、范围、错误提示信息和输入提示信息等。

Word、Excel禁止、限制别人修改部分文档内容

Word、Excel禁止、限制别人修改部分文档内容

禁止、限制别人修改word文档部分内容/Excel2013-02-17 14:59一、word的设置当我们发一份word文档给别人看或填写时,如何才能确保对方不能修改文档中的某些内容而只能编辑指定的内容,或不能修改所有内容?换句话说,别人只能在word文档中填写该填的地方,不该填写的地方只能看,不能修改。

如何限制他人只可填写word表格部分内容,不可修改其他内容如与对方签订格式合同再如,在线考试,老师们大都还是习惯用Word出考试题。

可是在考试时,怎么防止学生随意修改试卷但又可以填写答案呢?一、设置保护的方法执行如下图的菜单操作:“开发工具”→“保护文档”-限制格式和编辑在word窗口中的右边位置,我们可以看到如下的“保护文档”的设置区域。

要进行任何设置之前,首先要选中、选择好禁止别人修改的内容(可以是所有内容,也可以是部分内容)。

然后,遵照如下的方法进行设置,即可解决问题!第①步,全选所有内容,在“仅允许在文档中进行此类编辑”前面打上一个√勾,然后,在其下面的下拉组合框中选择“未做任何更改(只读)”;第②步,选中允许对方填写的部分(可以利用按住“Ctrl”键同时选择多个不连续的部分),将“例外项”中的“每个人”设置项选中。

在“例外项(可选)”的下面,在“每个人”的前面打上一个√勾;第③步,点击“是,启动强制保护”按钮,接着,弹出如下图的对话框!上图中,在“保护方法”中选择“密码”,之后输入新密码和确认新密码,最后,点击“确定”按钮确认并退出,这样,受到保护的文档中的内容,别人就无法进行修改了。

二、解除保护的方法当我们对文档中的部分内容设置了以上的保护之后,如果想要解除,可以这样来操作。

当打开word文档之后,我们会在第二张图的位置,发现“停止保护”这个按钮,如下图!点击“停止保护”按钮,弹出如下的对话框!输入设置保护时的密码,点击“确定”按钮确认并退出,就能解除保护了。

Excel如何限制别人对Excel内容的修改在多人共用表格的情况下,如何使自己的数据不被修改而别人可以在其它单元格输入数据在Excel中限制Excel表的格式不可改变(就是表格的格式不可被改),也就是不可以调整行和列宽。

excel表格怎样设置禁止编辑图文教程

excel表格怎样设置禁止编辑图文教程

excel表格怎样设置禁止编辑图文教程推荐文章excel表格内怎样勾选小方格图文教程热度: excel表格如何转换为pdf格式图文教程热度: excel表格怎么计算日期图文教程热度:excel表格设置打印批注图文教程热度: excel表格怎样设置批量输入工号图文教程热度:如何使excel表格内容只读不能修改及破解,具体该怎么去进行操作的呢?对于刚从其它版本转型过来的应该就不会太懂吧,没关系,接下来店铺就教大家在Excel2010表格设置不可修改的方法。

Excel2010表格设置不可修改的方法只读不能修改方法:在EXCEL里,选择工具——选项——安全性——分别设置打开权限密码和修改权限密码,2个密码要不一样,然后确定,会弹出对话框让你重新输入密码,第一个框输入你设置打开权限密码,第二个框输入你修改权限密码,然后保存文件。

然后你把打开权限密码给别人就OK了,别人打开就是只读,不能修改。

要修改需要你修改权限密码。

补充一下:如果不想只读打开需要密码,可以不设置打开权限密码,只设置修改权限密码。

破解Excel保护方法Excel对数据有很强的保护功能,可以对整个或部分数据隐藏、禁止复制和修改等,但有时候,由于忘记了密码,或者记不起以前自己到底做了哪些改动,这种保护反而会为难自己。

针对这种情况,我总结了几种解除保护的方法,供大家参考,并希望能够以此抛砖引玉。

一、解除单元格的保护1.取消隐藏的行或列被隐藏的行或列有一个明显的标志,那就是在行标题栏或列标题栏上有一条粗的黑线。

取消隐藏的行或列的方法有两种,一种是直接拖动隐藏处的行或列标题使之变宽,也可以选中包含隐藏区域的行或列,通过“格式”菜单中的行列项目输入非0数值调整行高或列宽,使数据有足够的空间显示出来;另一种方法是选中包含隐藏内容的行或列区域,再通过“格式”菜单行列选项中的“取消隐藏”命令来恢复全部行列区域。

2.取消隐藏单元格或区域中的数据为了不让他人直接看到单元格的内容,一种简单的方法就是把数据颜色设置成与背景色相同,这时我们只要拖选整个工作表即可让数据原形毕露;如果用图片、矩形框之类的非字符内容将重要数据遮盖,需要先用拖选方式找出工作表中的图片位置,再将其移开,激活被遮住的单元格,一般在公式编辑栏中就会显示其内容。

如何利用VBA代码,屏蔽EXCEL工作表的复制功能

如何利用VBA代码,屏蔽EXCEL工作表的复制功能

如何利用VBA代码,屏蔽EXCEL工作表的复制功能大家好,我们今日继续讲解VBA代码解决方案的第50讲内容:如何利用VBA代码,有效的屏蔽工作表的复制功能。

为什么要进入这节的内容呢?因为有时我们并不希望用户对工作表中的数据进行复制粘贴操作,这些是我的私有财产,不能让人轻易的获得,那么该怎么办呢?此时我们可以把所有的复制功能都屏蔽掉,这里会利用三个知识点一:CommandBars对象的FindControl方法。

应用于CommandBars对象的FindControl方法返回一个符合指定条件的CommandBarControl对象。

语法如下:expression.FindControl(Type, Id, Tag, Visible, Recursive) 参数a) expression是必需的,返回一个CommandBars对象。

b) Type是可选的,要查找控件的类型。

c) Id是可选的,要查找控件的标识符。

d) Tag是可选的,要查找控件的标记值。

e) Visible是可选,如果该值为True,那么只查找屏幕上显示的命令栏控件。

默认值为False。

f) Recursive是可选的,如果该值为True,那么将在命令栏及其全部弹出式子工具栏中查找。

此参数仅应用于CommandBar对象。

默认值为False。

特别注意:如果没有控件符合搜索条件,那么FindControl方法返回Nothing。

二:利用CellDragAndDrop 属性设置单元格的拖放功能,如果允许使用单元格拖放功能,则该值为True,如果不允许则该值设为false.三:关于应用于Application 对象的OnKey方法,这个知识点在我之前的文章中讲解过,这里给大家复习一下:应用于Application 对象的OnKey方法指定特定键或特定的组合键运行的过程,语法如下:expression.OnKey(Key, Procedure)参数:a) expression是必需的,该表达式返回一个Application 对象。

一点小技巧,让你的表格只能录入不能修改

一点小技巧,让你的表格只能录入不能修改

一点小技巧,让你的表格只能录入不能修改之前有同学问我,有的情况下,我们设计完一个表格后,希望只允许别人录入数据,录入完之后就不允许修改。

该怎么做呢?其实使用VBA代码,实现这样的功能非常简单。

Step 1、选中整个工作表,设置单元格格式,在保护选项卡下面取消勾选“锁定”。

这样我们在保护工作表时,这些单元格还可以编辑。

Step 2、按Alt+F11进入VBA代码编辑器界面。

在工作表的SelectionChange事件中加入以下代码就可以了。

Step 3、保护工作表,密码是abc。

可以根据实际需要,更改代码中指定的密码。

代码中ActiveSheet.Unprotect Password:='abc'中的abc就是工作表保护的密码。

解释:当输入内容后,如果再选择到这个单元格了,就及时锁定该单元格。

这样在工作表保护的情况下,就不能再编辑单元格内容了。

你以为这样就结束了吗?错错错!你设置了VBA代码,别人不启用宏怎么办?那你设置的代码岂不是白费功夫?所以我们还需要再设置一下表格,让用户启用宏才能看到目标表格。

Step 4、插入一个worksheet作为封面,提示用户必须启用宏才可以用目标表格。

按Alt+F11进入VBA编辑界面,将工作表名称更改为shStart,将数据录入的表名称更改为shData,这样便于记忆和使用。

将shData的Visible属性改成xlSheetVeryHidden。

Step 5、双击ThisWorkbook,输入以下代码。

Setp 6、设置VBA工程的查看密码。

具体方法可以到之前推送的文章中查看。

想动我的表格?没那么容易!这样就完成了整个设置过程。

关注我,收看更多好看实用的功能。

--End--。

excel 禁用条件格式 vba

excel 禁用条件格式 vba

题目:Excel中禁用条件格式VBA正文:在Excel中,条件格式是一种非常常用的功能,它可以根据某些规则自动对单元格进行格式化,使数据呈现出更直观的效果。

而VBA (Visual Basic for Applications)则是Excel中的一种编程语言,可以通过编写VBA代码来实现自动化的操作。

但是在某些情况下,我们可能需要禁用或取消已经设定的条件格式,那么该如何通过VBA来实现呢?下面我们将介绍一些常用的方法,供大家参考:1. 使用VBA取消单元格的条件格式在Excel中,我们可以通过以下的VBA代码来取消指定单元格的条件格式:```Sub CancelConditionalFormat()Range("A1").FormatConditions.DeleteEnd Sub```以上代码中,Range("A1")表示要取消条件格式的单元格范围,FormatConditions.Delete表示删除该单元格的所有条件格式。

2. 使用VBA取消工作表的条件格式如果我们需要取消整个工作表的条件格式,可以使用以下的VBA代码:```Sub CancelSheetConditionalFormat()With Sheets("Sheet1").Cells.FormatConditions.DeleteEnd WithEnd Sub```以上代码中,Sheets("Sheet1").Cells表示要取消条件格式的工作表范围,FormatConditions.Delete表示删除该工作表的所有条件格式。

3. 使用VBA禁用或启用条件格式有时候,我们可能并不想完全取消条件格式,而是希望仅仅禁用或启用它。

在这种情况下,可以使用以下的VBA代码实现:```Sub DisableConditionalFormat()Range("A1").FormatConditions(1).Enabled = FalseEnd Sub```以上代码中,Range("A1").FormatConditions(1).Enabled = False表示禁用单元格A1的第一个条件格式,如果需要启用条件格式,则将False改为True即可。

vba屏蔽Excel中的菜单功能

vba屏蔽Excel中的菜单功能

vba屏蔽Excel中的菜单功能1、屏蔽“菜单”中的项:mandBars(1).Controls('文件(&F)').Enabled = False '屏蔽文件菜单mandBars(1).Controls('编辑(&E)').Enabled = False '屏蔽编辑菜单mandBars(1).Controls('视图(&V)').Enabled = False '屏蔽视图菜单mandBars(1).Controls('插入(&I)').Enabled = False '屏蔽插入菜单mandBars(1).Controls('格式(&O)').Enabled = False '屏蔽格式菜单mandBars(1).Controls('工具(&T)').Enabled = False '屏蔽工具菜单mandBars(1).Controls('数据(&D)').Enabled = False '屏蔽数据菜单mandBars(1).Controls('窗口(&W)').Enabled = False '屏蔽窗口菜单mandBars(1).Controls('帮助(&H)').Enabled = False '屏蔽帮助菜单2、屏蔽“菜单”中的子项:mandBars(1).Controls('编辑(&E)').Controls('填充(&I)').Enabled = False '屏蔽“编辑”菜单中的“填充”项mandBars(1).Controls('工具(&T)').Controls('选项(&O)...').Visible = False '去除工具-选项mandBars(1).Controls('工具(&T)').Controls('选项(&O)...').Enabled = False '工具-选项变灰色3、禁用粘贴:mandBars('Cell').Controls('粘贴(&P)').Enabled = False '禁用右键粘贴mandBars('Cell').Controls('选择性粘贴(&S)...').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('粘贴(&P)').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('选择性粘贴(&S)...').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('office 剪贴板(&B)...').Enabled = FalsemandBars(3).Controls('粘贴(&P)').Enabled = FalsemandBars.DisableCustomize = True4、其他mandBars(1).Controls('工具(&T)').Controls('自定义(&C)...').Enabled = FalseApplication.OnKey '^v', '' '禁用键盘'Ctrl+V'Application.OnKey '^v' '恢复键盘'Ctrl+V'mandBars.DisableAskAQuestionDropdown = True '去除工作表右上角的帮助栏mandBars('Reviewing').Visible = False '屏蔽审阅mandBars('Formula Auditing').Visible = False '屏蔽公式审核mandBars('Control T oolbox').Visible = False '屏蔽控件工具箱mandBars('Stop Recording').Visible = False '屏蔽录制宏mandBars('Forms').Visible = False '屏蔽窗体mandBars('Drawing').Visible = False '屏蔽绘图5、屏蔽/解除整段代码:视图-》工具栏-》编辑,选中代码,然后在编辑的工具栏里“设置注释块和“解除注释块”按钮Application.EnableCancelKey = xlDisabled '应用程序的EnableCancelKey=完全禁用“取消”键捕获功能Application.EnableCancelKey = xlInterrupt '应用程序的EnableCancelKey=中断当前运行程序,用户可进行调试或结束程序的运行。

Excel-VBA一键设置保护工作表所有公式不被修改

Excel-VBA一键设置保护工作表所有公式不被修改

Excel-VBA一键设置保护工作表所有公式不被修改应用场景一键设置保护工作表所有公式不被修改知识要点1:利用specialcells方法定位公式区,将其隐藏和锁定属性设为True,然后保护工作表2:Worksheet.ProtectContents 属性果工作表内容是受保护的,则为 True。

此属性保护单独的单元格3:Range.Locked 属性返回或设置一个Variant 值,它指明对象是否已被锁定4:Range.FormulaHidden 属性返回或设置一个Variant 值,它指明在工作表处于保护状态时是否隐藏公式。

5:Worksheet.Protect 方法保护工作表使其不能被修改Sub 保护公式不背修改()If ActiveSheet.ProtectContents = True Then MsgBox '当前工作表已保护,程序无法执行!', 64, '提示'On Error Resume NextCells.Locked = False '取消所有单元格的锁定属性Cells.FormulaHidden = False '将隐藏公式也取消With Cells.SpecialCells(xlCellTypeFormulas, 23) '对公式区域进行操作If Err.Number = 1004 Then MsgBox '当前表不存在公式': Exit Sub'如果错误提示,并退出程序.Locked = True '锁定所有公式区.FormulaHidden = True '隐藏所有公式区'保护工作表(允许用户插入行、设置格式、删除行列、编辑对象等)ActiveSheet.Protect Password:='', DrawingObjects:=False, contents:=True, Scenarios:=False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=TrueEnd WithEnd Sub。

VBA小技巧06:一句代码限定工作表可编辑单元格

VBA小技巧06:一句代码限定工作表可编辑单元格

VBA小技巧06:一句代码限定工作表可编辑单元格excelperfect
有时候,一条小小的代码能够起到很好的效果。

例如,我们希望仅能编辑工作表中的指定区
域,其他区域不可编辑,只有一些控件能够操作,一些VBA代码能够在后台运行,如下图1所
示。

图1
在图1所示的工作表中,我们只能编辑单元格区域B2:C3,只能查看工作表的可见部分,当然,
还能够单击按钮控件,运行VBA代码。

想要实现这样的效果,在ThisWorkbook代码模块中,输入下面的代码:
Private Sub Workbook_Open()
Worksheets('Sheet1').ScrollArea ='$B$2:$C$3'
End Sub
这样,每次打开该工作簿,将限定工作表Sheet1中的可编辑区域为B2:C3。

你可以根据你的需
要,在代码中修改该区域。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

用VBA打开或禁止单元格拖放(自动填充)功能

用VBA打开或禁止单元格拖放(自动填充)功能

薛谭学讴翻译和注释注释(1)讴(ōu):徒歌(无伴奏)歌唱。

这里指唱歌。

(2)于:向。

(3)穷:尽、完,用完。

这里指学完。

(4)技:本领。

(5)谓:以为,认为,自认为。

(6)尽:学尽,学完。

(7)遂:于是,就。

(8)之:代词,指代上句中的秦青之技。

(9)辞:告辞,告别。

(10)归:回去,回家。

(11)弗:没有,不。

(12)止:挽留,阻止。

(13)饯:用酒食设宴送行,设酒送行。

(14)郊:城外大道旁。

(15)衢(qú):大路,四通八达的路郊衢:郊外的大道边。

(16)悲歌:慷慨悲壮的歌。

(17)振:使。

振动。

(18)响遏行云:遏,使。

停止,阻拦;行云,飘动的云彩。

形容歌声嘹亮。

(19)谢:道歉。

(20)反:通“返”,返回。

(21)抚节:打着节拍。

轻轻地打着拍子。

(22)于:在。

(23)言:发誓。

(24)鬻:读音yù,卖。

(25)欐:读音lí,栋,中梁。

(26)抃:读音biàn,鼓掌。

(27)放:通‘仿’,效仿。

译文薛谭向秦青学习唱歌,还没有彻底掌握秦青的歌唱技艺,(就)自以为学尽了,于是就告辞回去。

秦青没有劝阻他,在城外大道旁用酒食设宴(给他)送行,秦青打着节拍,高唱悲歌,唱着慷慨雄壮的歌。

歌声振动了林木,(那音响)止住了流动的云。

薛谭于是(向秦青)道歉,想要回来继续学习。

(从此以后,)他一生也不敢再说要回去。

注释①时夜:司夜,指打鸣报晓。

时,掌管。

②或:有的。

③取:招致。

④书:写。

⑤恶(wù):厌恶。

⑥祥:吉祥⑦欤(yú):文言助词,相当于“吗”,表示疑问、感叹、反诘等语气。

⑧足:足够,足以。

⑨故书之以为言默戒:所以写下来作为发言和沉默的告诫。

翻译邻人有一只鸡在夜里打鸣,厌恶它不吉祥,便把它烹吃了。

过了几天,另一只鸡天亮了却不打鸣,便又把它烹吃了。

过后(他)对我说:“我家的鸡有的夜里打鸣,有的早晨却不打鸣,对这种不吉祥怎么办?”我告诉他说:“鸡打鸣能对人不吉祥吗?只不过它们自作不吉祥罢了。

过了规定时间就“锁住”单元格,不允许再修改

过了规定时间就“锁住”单元格,不允许再修改

过了规定时间就“锁住”单元格,不允许再修改最近帮一个在会计师事务所工作的学员实现了一个小功能,他的需求是:一个EXCEL模板,当过了规定时间就“锁住”某些单元格,不允许用户再修改。

其实,我自己从未有过这样的需求,顶多呢,就是在做预算的时候,把需要用户输入的单元格涂上底色(比如淡黄色),然后用VBA 遍历所有单元格,遇到底色是浅黄色的就“锁住”,达到不允许用户修改的目的。

针对这位学员的需求,我写了如下两段代码:代码一:可以在一个单元格输入内容后进行判断,如果晚于规定时间,那么清除单元格内容,并“锁死”单元格。

简单说明下这几行的含义:If Now() >= Range('B3').Value Then ’判断现在时间是否超过了规定时间Application.EnableEvents = False ’先不触发任何事件,这样能避免进入死循环Range(Target.Address).Value = '' ’将改变内容的单元格清空Application.EnableEvents = TrueActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ’如果是,那么就保护工作表MsgBox ('过时间,不能输入了!') ’提示信息End If注:这段代码是和工作表对应的,所以要放到工作表“背后”的VBE里。

代码二:当打开一个EXCEL文件时,会自动判断是否超过规定时间,如果是,那么“锁死”单元格。

这个应用场景应该更贴近实际。

这几行代码的含义就不讲了,跟第一段代码差不多,区别在于不会出现死循环:If Now() >= #3/8/2018 9:24:00 PM# ThenActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=TrueMsgBox ('过时间,不能输入了!')End If注:这段代码是和工作簿对应的,所以要放在'ThisWorkBook'里。

如何在Excel里面设置不可修改单元格(图解)

如何在Excel里面设置不可修改单元格(图解)

如何在Excel里面设置不可修改单元格(图解)步骤方法
第一步:打开一个表格,然后选择可以修改的部分(B2,B3,B4单元格),用鼠标右键点击,在下栏里选择设置单元格格式。

第二步:显示单元格格式,切换到保护,在里面取消锁定。

第三步:回到菜单栏,在菜单栏找到工具,打开,出现下拉栏,在下拉栏里面选择保护,在右边选择保护工作表。

第四步:显示保护工作表对话框,勾选选定未锁定单元格,然后输入密码,密码输入两次,确定。

第五步:我们来试一下,修改B2,B3,B4单元格,会出现正在修改被保护的单元格。

第六步:我们想解除单元格的设置,就打开工具,选择保护,在右边选择撤消工作表保护。

第七步:就会弹出撤消工作表保护,在里面输入之前设定的密码,确定。

第八步:现在我们就把密码保护撤消了。

Excel表格中实现某些单元格不允许编辑__手把手教你实现

Excel表格中实现某些单元格不允许编辑__手把手教你实现
step01: 点击此处,以选定所有单元格
手把手教你实现 Excel表中某些单元格 不允许编辑
(图片资料截取自Excel2007版)
step02: 在选中所有单元格的情况下, 在工作表中点击右键, 点选[设置单元格格式]
step03: 点选[保护]选项卡
step04: 不勾选[锁定]
step05: 点击[确定]按钮
有些操作需经过反复动手实践后才会熟悉!
step06: 按住Ctrl键,分别点击不允许 修改的单元格
step07: 在选中的不允许修改的单 元格上点击右键, (此时不允许修改的单元格 均处于被选定状态) 选择[设置单元格格式]
step08: 点选[保护]选项卡
step09: 勾选[锁定]
step10: 点击[确定]按钮
step11: 点选[审阅选项卡
step12: 点选 [保护tep14: 点击[确定]按钮
step15: 再次输入密码
step16: 点击[确定]按钮
result (效果): 此时试图修改保护的单元格时,会有如上的提示, 而其他单元格允许用户编辑
谢谢欣赏!
有些操作需经过动手实践后才会掌握!

VBA技巧29 防止更改工作表的名称

VBA技巧29   防止更改工作表的名称

技巧1 防止更改工作表的名称
工作表的名称显示在工作表标签上,除了在相应的功能菜单中可以对其进行重命名操作外,在工作表标签上双击鼠标也能修改工作表名称。

一旦修改了工作表名称,可能就会产生一连串的问题,例如在其他工作簿中对该工作表的引用将会失效,通过工作表名称引用工作表的代码也将出错。

Excel没有提供修改工作表名称的相关事件,要禁止用户修改工作表名称,需采取其他一些技巧。

比如在工作表BeforeClose事件中检验工作表名称,如果工作表名称不是指定的字符串,则将其修改为指定字符串,即保持工作表名称不变,代码如下。

#001 Private Sub Workbook_BeforeClose(Cancel As Boolean)
#002 If <> "Excel Home" Then = "Excel Home"
#003 ThisWorkbook.Save
#004 End Sub
代码解析:
工作簿的BeforeClose事件过程,在关闭当前工作簿时判断Sheet1工作表名称,如果不是指定的字符串“Excel Home”,则将其恢复为“Excel Home”后保存工作簿,从而避免更改Sheet1工作表名称。

Excel工作表不想被别人改动?完成这个设置!别人再也改动不了

Excel工作表不想被别人改动?完成这个设置!别人再也改动不了

Excel工作表不想被别人改动?完成这个设置!别人再也改动不了职场办公,保护好我们的Excel工作表是有必要的。

那么怎么将Excel工作表设置成别人改动不了?或者说设置成只能改动指定的数据区域,其他区域改动不了呢?其实啊,不想让别人随意改动我们的Excel工作表或者只能改动我们指定的数据区域,并不难,大家只要完成下面这个设置即可!一、工作表仅支持查看,不能进行改动如果你希望你的Excel工作表只能进行查看,不能进行改动,那么你可以这样设置:点击菜单栏中的【审阅】,再点击【保护工作表】,接下来输入密码,点击【确定】,最后重新输入密码,再点击【确定】就行了。

完成上面这一设置后,别人再也无法改动这个Excel工作表了。

别人一旦尝试改动其中的某些数据,会弹出以下这样的窗口:二、工作表只能改动指定区域,其他区域不能改动大家在上传Excel工作表给其他同事的时候,是不是会出现了这样的问题:里面某些重要的数据,由于某些同事的粗心,被改动了。

其实,这个时候我们可以将Excel工作表设置成只能改动指定区域,其他区域无法进行改动。

这样设置好后,就再也不用担心某些粗心的同事会因为手误而改动其中某些重要的数据了。

具体的设置步骤如下:①选择可以改动的数据区域,再点击菜单栏中的【开始】,选择【字体】底部右侧的小图标,然后在弹出的窗口中,点击选择【保护】,再去掉【锁定】前的勾勾即可。

②接下来点击菜单栏中的【审阅】,点击【保护工作表】,再输入密码,完成密码的设置即可。

完成设置后,别人就只能更改可以进行改动的数据区域了,其他区域再也改动不了,一旦尝试改动,会弹出下面这样的窗口:ok,今天的分享就到这里了,大家都学会了吗?还没学会的朋友,可以先收藏起来再慢慢学哦~。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档