我有下面的代码,在所有其他情况下工作,除了在一个单一的,它返回错误“无法移动焦点,因为它是不可见的,未启用,或类型不接受焦点”.工作表中的数据只包含基本的数字和单词.我的目标是从一个工作簿中选择一个范围,并粘贴到另一个.它似乎Excel不识别任何东西在单元格中,虽然事实上是有的。有人知道为什么会发生这种情况吗?提前感谢。
Set Users = Application.Workbooks.Open(PathA)
With Prices
.Sheets("Sheet").Range("A:AJ").Select
Selection.Copy
End With
'Set Risk = Application.Workbooks.Open(PathX)
With Risk
.Sheets("Sheet").Range("A1:AJ1048576").PasteSpecial Paste:=xlPasteAll
.Save
' .Close
End With
Users.Close
3条答案
按热度按时间j9per5c41#
看起来其他人也遇到了同样的问题,并且能够在MSDN论坛上解决
http://social.msdn.microsoft.com/Forums/office/en-US/3263b079-7e4f-452c-8dcc-92c682b8370b/excel-form-cant-move-focus-to-the-control-because-it-is-invisible-not-enabled-or-of-a-type-that?forum=exceldev
也许这个修正也适用于你情况。
......好吧,在这一页上,有一个人有一个似乎对他有用的杂牌设备:
错误为:
如何修复
然后其他人描述了潜在的问题,但是他的解决方案涉及到使用设计模式,这看起来可能违背了在vba中自动化的目的,但是主持人似乎更喜欢他的答案,所以在这里也是如此
yqyhoc1h2#
“运行时错误”-2147352565(8002000 b)“:无法将焦点移到控件,因为它不可见、未启用或属于不接受焦点的类型”可以克服,但需要按顺序定义您希望选择的区域。显然,有些人在任何情况下都可能这样做,但在此特定情况下,需要克服此问题。这是一个从一个工作簿复制到另一个工作簿并粘贴的示例,其中U是Excel发现为“不可见”的工作表。
nnt7mjpx3#
如果你到现在还没有找到答案,我想帮你一把:在我的例子中,当我在应用程序窗口最大化的情况下重新调整窗口尺寸时,出现了以下消息:
例如
Application.width = 100 (on Excel 2003 or 2007)
这种情况下的解决方案是首先将应用程序窗口设置为NORMAL。
例如
ActiveWindow.WindowState = xlNormal