2

When I run for example the following code, which I copied from http://support.microsoft.com/kb/291308 (the first line anyway), the selection just doesn't work:

ActiveSheet.Cells(5, 4).Select
ActiveCell.Value = "test"

When I useActiveSheet.Cells(5,4).value = "test" it does work.

edit: the result is it writes test in the cell I had selected before I pressed the button the code is attached to. Hence me claiming it ignores the select.

edit2: a bit of Excel code that runs on another computer doesn't run on this one due to Excel skipping the select part.

4

3 回答 3

1

由于我的评论为您的问题提供了解决方法,因此我决定进行更多研究以将其升级为答案。

msdn 网站为该属性提到以下内容.EnableSelection

“此属性仅在工作表受到保护时生效:xlNoSelection防止在工作表上进行任何选择,xlUnlockedCells仅允许选择 Locked 属性为 False 的那些单元格,并xlNoRestrictions允许选择任何单元格。”

由于ActiveSheet.EnableSelection = xlNoRestrictions在您的工作表中工作,除了工作表受到保护外,没有其他可以得出的结论。但是为什么工作表受到保护,我们不知道,但很可能是触发某种保护的加载项,正如@S Nash 在他的回答中提到的那样。(当然,我愿意听取其他意见/建议)。

您可以尝试删除加载项(请参阅本文),然后重新启动excel,看看问题是否仍然存在(如果可以,请回复是否最终是加载项导致问题,这对每个人都很有趣!)

于 2013-08-26T14:07:56.130 回答
0

“edit2:由于excel跳过了选择部分,一些在另一台计算机上运行良好的excel代码也不能在这台计算机上运行。”

这是我的强烈猜测:

这台计算机的 Excel 中有一个加载项,可以取消选择。

ActiveSheet.Cells(5, 4).Select

否则

ActiveSheet.Cells(5, 4).Select
ActiveCell.Value = "test"

应该一直工作。

尝试一一禁用excel插件,找到入侵者。我根据经验知道许多 Excel 插件,例如路透社或彭博链接可能会干扰 Excel 单元格选择。

于 2013-08-26T12:06:03.493 回答
0

如果你用这四行替换你的两行:

ActiveSheet.Cells(5, 4).Select
ActiveCell.Value = "test"
MsgBox Selection.Address
MsgBox ActiveCell.Address

你看到了什么??

于 2013-08-26T11:51:44.253 回答