Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA代码,仅锁定excel中用户选定(突出显示)的单元格_Excel_Vba - Fatal编程技术网

VBA代码,仅锁定excel中用户选定(突出显示)的单元格

VBA代码,仅锁定excel中用户选定(突出显示)的单元格,excel,vba,Excel,Vba,我想知道如何使用VBA/宏锁定用户选择/突出显示的某些excel单元格 我现在使用的代码是锁定整个工作表 Sub Macro4() ' ' Macro4 Macro ' ' Worksheets("Sheet1").Activate ActiveSheet.Unprotect Cells.Select Selection.Locked = True ActiveSheet.Protect End Sub 对我做错了什么有什么看法吗 谢谢您的时间。如果您想在每次新选择发生时对所选单元格

我想知道如何使用VBA/宏锁定用户选择/突出显示的某些excel单元格

我现在使用的代码是锁定整个工作表

Sub Macro4()
'
' Macro4 Macro
'

'
  Worksheets("Sheet1").Activate
  ActiveSheet.Unprotect
Cells.Select
Selection.Locked = True
ActiveSheet.Protect
End Sub
对我做错了什么有什么看法吗


谢谢您的时间。

如果您想在每次新选择发生时对所选单元格执行任何操作,您应该依赖于发生这种情况时触发的代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  Selection.Locked = True

End Sub
该文件包含给定工作表的代码;也就是说,如果你想考虑<代码> SHITE1,你必须写这个代码的文件是:<代码>微软Excel对象/SHIET1(SHIET1) ./P> 评论后更新

Sub Button1_Click()
      Selection.Locked = True
End Sub

单击
按钮1
时,此代码将锁定所有选定的单元格。

嘿,谢谢您的回复。我不希望每次选择某些单元格时都触发该操作。我只希望他们在选择单元格并运行宏时运行。然后依靠选择。选择是指当前选择的所有单元格,即运行宏时选择的单元格。我已更新了代码。想法很简单:选择保存您想要的信息,因此在您需要的时候使用它(每次,当调用函数时,当单击按钮时,等等)。但是不要从代码中选择任何单元格(don do cells.select),因为这会改变这个变量,让用户执行选择。好吧,我在我发布的原始代码中使用了相同的命令。它会锁定整个工作表,而不仅仅是高亮显示的工作表。当您选择“单元格”时,您将选择整个工作表,从而删除此行并让用户进行选择。还要记住,默认情况下,单元格可能会被锁定,因此您应该在一开始就将其解锁。想法非常简单:选择保持当前选择的范围;它可以由用户选择,也可以由代码选择(取决于范围。选择)。