Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
Excel 禁用Ctrl+;D针对特定工作簿_Excel_Vba - Fatal编程技术网

Excel 禁用Ctrl+;D针对特定工作簿

Excel 禁用Ctrl+;D针对特定工作簿,excel,vba,Excel,Vba,如何为特定工作簿禁用CTRL+D快捷键? 我可以禁用宏,但宏将影响所有excel工作簿。 我试过了 这只是工作正常,但它适用于所有的工作簿 我只想禁用一个特定的文档/工作簿。如何执行此操作?这样,当您按CTRL+D键时,它将检查工作簿的名称,如果工作簿是Book1它将不执行任何操作,否则它将执行默认的填充事件 Sub Sample() Application.OnKey "^d", "CheckWorkbook" End Sub Sub CheckWorkbook() If ActiveWor

如何为特定工作簿禁用CTRL+D快捷键? 我可以禁用宏,但宏将影响所有excel工作簿。 我试过了

这只是工作正常,但它适用于所有的工作簿


我只想禁用一个特定的文档/工作簿。如何执行此操作?

这样,当您按CTRL+D键时,它将检查工作簿的名称,如果工作簿是
Book1
它将不执行任何操作,否则它将执行默认的填充事件

Sub Sample()
Application.OnKey "^d", "CheckWorkbook"
End Sub

Sub CheckWorkbook()
If ActiveWorkbook.Name = "Book1" Then
    Exit Sub
Else
    Selection.FillDown
End If
End Sub

子样本()
Application.OnKey“^d”,“检查工作簿”
端接头
子检查工作簿()
如果是ActiveWorkbook.Name“Book1”,则
选择。填充
如果结束
端接头

这样,当您按下CTRL+D键时,它将检查工作簿的名称,如果工作簿是
Book1
它将不执行任何操作,否则它将执行默认的填充事件

Sub Sample()
Application.OnKey "^d", "CheckWorkbook"
End Sub

Sub CheckWorkbook()
If ActiveWorkbook.Name = "Book1" Then
    Exit Sub
Else
    Selection.FillDown
End If
End Sub

子样本()
Application.OnKey“^d”,“检查工作簿”
端接头
子检查工作簿()
如果是ActiveWorkbook.Name“Book1”,则
选择。填充
如果结束
端接头

为什么不使用您正在使用的内容,并在工作簿关闭/停用事件中重置它?因此,如果你转到另一个工作簿,它不应该有这种效果?@SiddharthRout,谢谢你的快速响应,但我将同时处理多个文件,所以我不能这样做。正是我的观点,当你处理多个文件时,当你离开原始文件时,停用事件将触发。同样,当原始工作簿处于焦点时,您可以使用激活事件禁用ctrl D。为什么不使用您正在使用的内容,并在工作簿关闭/停用事件中重置它?因此,如果你转到另一个工作簿,它不应该有这种效果?@SiddharthRout,谢谢你的快速响应,但我将同时处理多个文件,所以我不能这样做。正是我的观点,当你处理多个文件时,当你离开原始文件时,停用事件将触发。类似地,当原始工作簿获得焦点时,您可以使用激活事件禁用ctrl D。为此,我是否应将文档另存为启用宏的工作簿?对不起,dude,它不适用于我,所有工作簿中都禁用了快捷键:(您必须显示更多数据,因为这是经过测试的代码。我打开了3个新工作簿,将此代码添加到Book1中,然后进行测试,Ctrl+D在Book1中不起作用,但在book2和Book3中起作用。尝试并测试了这两个选项,您确定您正确复制了代码并将其插入了新模块吗?您是否先运行了示例?因为这两个代码都起作用s、 必须有其他东西阻止它。我们如何禁用此功能本身。我有一个工作簿,其中隐藏了一些标签。当有人尝试向下填充或向右填充时,当然,不小心,标签会被格式和所有内容复制过来。我理解如何禁用快捷方式。问题是,我如何才能从功能区中单击“填充”按钮来操作用户?为此,我是否应将文档另存为启用宏的工作簿?对不起,dude,它不适用于我,所有工作簿中都禁用了快捷键:(您必须显示更多数据,因为这是经过测试的代码。我打开了3个新工作簿,将此代码添加到Book1中,然后进行测试,Ctrl+D在Book1中不起作用,但在book2和Book3中起作用。尝试并测试了这两个选项,您确定您正确复制了代码并将其插入了新模块吗?您是否先运行了示例?因为这两个代码都起作用s、 必须有其他东西阻止它。我们如何禁用此功能本身。我有一个工作簿,其中隐藏了一些标签。当有人尝试向下填充或向右填充时,当然,不小心,标签会被格式和所有内容复制过来。我理解如何禁用快捷方式。问题是,我如何才能从功能区中单击“填充”按钮来操作用户?
Sub Sample()
Application.OnKey "^d", "CheckWorkbook"
End Sub

Sub CheckWorkbook()
If ActiveWorkbook.Name <> "Book1" Then
    Selection.FillDown
End If
End Sub