2014-04-01 34 views
-1

我见过这个问题的几个帖子。我知道是什么原因造成的,但我正试图想办法阻止它出现。'方法范围的对象_全局失败'

它是什么,有一个叫主Excel文件,我必须保持开放,它将自动进行更新使用,每20分钟用:

Application.OnTime 

在VBA公式有一个呼吁

Loc = Range("location").Value 

所以,如果我打开另一个excel文件,它会自动更新时发生范围错误。

有什么我可以在之前检查,价值是不正确的,并忽略了一个错误?我尝试了一些东西,四处张望,但没有任何效果。

感谢您的任何帮助。

+0

你没有表现出很大的代码,但我猜你的不合格'范围()'调用的问题是:这将是指无论发生什么事是ActiveSheet(除非它是在一个表代码模块)。如果你修复它应该可以解决你的问题。 –

+0

我知道问题是什么,我试图找到一种方法来阻止或检查另一个文件中的空值。基本上我有Book1.xlsm打开自动更新,然后打开Book2.xlsm该值正在寻找Book1.xlsm中没有在Book2.xlsm中声明的位置。所以虽然我有Book2.xlsm,但我不想显示错误,也不想关闭所有错误。 – Demas

回答

0

我知道是什么问题,我试图找到一种方法来阻止或检查空值,而在另一个文件....德马斯5分钟前

我同意Tim在这里。如果你可以完全符合你的范围,那么就这样做。否则请阅读:)

这是你想要的吗?

Dim rng As Range 

' 
'~~> Rest of the code 
' 

On Error Resume Next 
Set rng = Range("location") 
On Error GoTo 0 

If Not rng Is Nothing Then 
    Loc = Range("location").Value 
    ' 
    '~~> Rest of the code 
    ' 
End If 
+0

我很欣赏这个,尽管我已经尝试过这样的事情。 On Error不起作用,我尝试了不同的方式来限定值;在值中声明工作簿名称,确保此工作簿处于活动状态的功能以及其他一些功能。 – Demas

+0

你的意思是什么不起作用?你有没有收到任何错误信息?从手机上发帖可能需要一些时间才能回复 –

相关问题