Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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 Application.MoveAfterReturn=False不在受保护的工作表上工作_Excel_Vba - Fatal编程技术网

Excel Application.MoveAfterReturn=False不在受保护的工作表上工作

Excel Application.MoveAfterReturn=False不在受保护的工作表上工作,excel,vba,Excel,Vba,为了防止在用户单击return(返回)后选择内容从活动单元格中移出,我在工作簿_Open过程中包括了Application.MoveAfterReturn=False 这在未受保护的图纸上可以正常工作,但在受保护的图纸上不起作用。 这是设计的,还是一个bug,还是我遗漏了什么 有什么解决办法的建议吗?显然,我1月27日的帖子有点过早,因为Application.MoveAfterReturn=False实际上也适用于我 经过进一步测试,我的问题实际上仅限于1(一)份特定工作簿 本质上,有问题的工

为了防止在用户单击return(返回)后选择内容从活动单元格中移出,我在
工作簿_Open
过程中包括了
Application.MoveAfterReturn=False

这在未受保护的图纸上可以正常工作,但在受保护的图纸上不起作用。 这是设计的,还是一个bug,还是我遗漏了什么


有什么解决办法的建议吗?

显然,我1月27日的帖子有点过早,因为
Application.MoveAfterReturn=False
实际上也适用于我

经过进一步测试,我的问题实际上仅限于1(一)份特定工作簿

本质上,有问题的工作簿相对简单,并且带有
应用程序。MoveAfterReturn
设置为False在未受保护的工作表上按[enter/return]时,选择确实不会移动,正如预期的那样,但只要我保护工作表并按[enter/return]键,选择就会向下移动到下一行

1月30日更新

无论我做了什么尝试,我都无法实现这一点,即使是现在,仍然很令人困惑的是,为什么只有相关工作簿体现了所描述的问题

然而,最后,考虑到相关属性在其他工作簿中确实正常工作,我手动将数据和代码复制到一个新工作簿中,你瞧,
Application.MoveAfterReturn=False
现在完全可以在未受保护和受保护的工作表上工作了


科技的奇迹?

显然,我1月27日的帖子有点言之过早,因为
Application.MoveAfterReturn=False
实际上也适用于我

经过进一步测试,我的问题实际上仅限于1(一)份特定工作簿

本质上,有问题的工作簿相对简单,并且带有
应用程序。MoveAfterReturn
设置为False在未受保护的工作表上按[enter/return]时,选择确实不会移动,正如预期的那样,但只要我保护工作表并按[enter/return]键,选择就会向下移动到下一行

1月30日更新

无论我做了什么尝试,我都无法实现这一点,即使是现在,仍然很令人困惑的是,为什么只有相关工作簿体现了所描述的问题

然而,最后,考虑到相关属性在其他工作簿中确实正常工作,我手动将数据和代码复制到一个新工作簿中,你瞧,
Application.MoveAfterReturn=False
现在完全可以在未受保护和受保护的工作表上工作了


科技的奇迹?

我最近也被同样的谜团困扰,并发现了这个问题的根源。它也有100%的重复性。这意味着我可以通过选中一个复选框使MoveAfterReturn按预期工作或失败(即,即使MoveOnReturn=False,按return也会选择下一个单元格)

如果要移动返回“工作”,请确保在“审阅”选项卡下的“保护工作表选项”中选中“选择锁定的单元格”,或在ThisWorkbook.Worksheets(“…”).Protect属性中将其设置为True。如果执行任一操作,按enter键将停止前进到下一个单元格。取消选中“选择锁定的单元格”或将属性设置为False,enter键将忽略指定的任何值MoveOnReturn并前进到下一个单元格

我已经在几本旧工作簿上尝试过这一点,我可以永远让MoveOnReturn正常工作,也在新创建的工作簿上尝试过。他们的行为都如所描述的那样


不要问这有什么意义。

我最近也被同样的谜团困扰,并发现了这个问题的根源。它也有100%的重复性。这意味着我可以通过选中一个复选框使MoveAfterReturn按预期工作或失败(即,即使MoveOnReturn=False,按return也会选择下一个单元格)

如果要移动返回“工作”,请确保在“审阅”选项卡下的“保护工作表选项”中选中“选择锁定的单元格”,或在ThisWorkbook.Worksheets(“…”).Protect属性中将其设置为True。如果执行任一操作,按enter键将停止前进到下一个单元格。取消选中“选择锁定的单元格”或将属性设置为False,enter键将忽略指定的任何值MoveOnReturn并前进到下一个单元格

我已经在几本旧工作簿上尝试过这一点,我可以永远让MoveOnReturn正常工作,也在新创建的工作簿上尝试过。他们的行为都如所描述的那样


不要问这有什么意义。

你能补充更多关于它如何不起作用的细节吗?我可以在受保护和未受保护的工作表上使用此功能。您的工作簿\u打开过程可能会设置保护。您可以在设置应用程序属性后设置保护。您还可以设置保护属性
UserInterfaceOnly=True
,以便您的代码可以自由访问。同意@BigBen。它对我也有用。你能补充更多关于它如何不起作用的细节吗?我可以在受保护和未受保护的工作表上使用此功能。您的工作簿\u打开过程可能会设置保护。您可以在设置应用程序属性后设置保护。您还可以设置保护属性
UserInterfaceOnly=True
,以便您的代码可以自由访问。同意@BigBen。这对我也有用。