Excel 错误:无法移动焦点,因为它不可见
我有以下代码可以在所有其他情况下工作,除了在一个单独的情况下,它返回错误无法移动焦点,因为它是不可见的、不启用的或不接受焦点的类型。表中的数据仅包括基本数字和单词。我的目标是从一本工作手册中选择一个范围并将其粘贴到另一本。excel似乎无法识别单元格中的任何内容,尽管事实上存在。有人知道为什么会这样吗?提前谢谢Excel 错误:无法移动焦点,因为它不可见,excel,vba,Excel,Vba,我有以下代码可以在所有其他情况下工作,除了在一个单独的情况下,它返回错误无法移动焦点,因为它是不可见的、不启用的或不接受焦点的类型。表中的数据仅包括基本数字和单词。我的目标是从一本工作手册中选择一个范围并将其粘贴到另一本。excel似乎无法识别单元格中的任何内容,尽管事实上存在。有人知道为什么会这样吗?提前谢谢 Set Users = Application.Workbooks.Open(PathA) With Prices .Sheets("Sheet"
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
看起来其他人也有同样的问题,并且能够在MSDN论坛上解决 也许这个方法也适用于你的情况 。。。好的,在那一页上,一个人有一个似乎对他有用的乱七八糟的想法: 错误是: 无法将焦点移动到控件,因为该控件不可见、未启用或其类型不接受焦点 如何修复 一,。选择有问题的对象,例如表单或控件 二,。在“属性”窗口中,选择对象的名称并重命名,在末尾添加一个x,例如将CPanel重命名为CPanelx 三,。保存表单 4.现在将CPanelx重新命名为CPanel 五,。运行您的表单 六,。问题解决了 Excel VBA有些问题,不确定是什么!,但这会让你重新工作。 史蒂夫D 然后有人描述了潜在的问题,但他的解决方案涉及到使用设计模式,这似乎有可能破坏vba中自动化的目的,但是主持人似乎更喜欢他的答案,所以这里也是这样 在正常使用中,activeX控件仅用于激活,而不是选中,这是有区别的。如果您特别希望手动或使用代码选择控件,请先尝试将Excel置于设计模式 另请参见主题“为什么我不能选择窗体和ActiveX控件?”?在Excel的帮助中而不是VBA的帮助中
Peter Thornton运行时错误“-2147352565 8002000b”:无法将焦点移动到控件,因为该控件不可见、未启用或类型不接受焦点可以克服,但可以按顺序定义要选择的区域。显然,有些人在任何情况下都可能这样做,但在这种特定情况下,需要克服这个问题。这是一个示例,用于从一个工作簿复制到另一个工作簿,并粘贴excel发现不可见的工作表U
Dim U As Workbook
Dim Us As Worksheet
Set U = Application.Workbooks.Open(Path)
Set Us = U.Worksheets("sheet")
With Us
.Range("A:AJ").Select
Selection.Copy
End With
U.Close SaveChanges = True
With DestinationWorkbook
.Sheets("sheet").Range("A:AJ").PasteSpecial Paste:=xlPasteAll
.Save
End With
以防你现在还没有找到答案: 在我的例子中,当我在应用程序窗口最大化时重新确定其尺寸时,出现了以下消息: e、 g.Excel 2003或2007上的Application.width=100 在这种情况下,解决方案是首先使应用程序窗口恢复正常
e、 g.ActiveWindow.WindowsState=xlNormal您打开了一个工作簿,但从Prices复制-无法判断这是否与您的问题有关。我想我会先请求您,而不是向下投票:裸链接是低质量的答案。您可能希望改进您的答案并为其添加更多含义,以便将来如果链接中断,我们仍然知道解决方案是什么。这也将帮助未来的用户。非常感谢您的回答。我确实看到了这一点,我认为这是指表单或activeX控件,而不是从一个地方选择、复制和粘贴到另一个地方。