2016-01-15 71 views
0

我有一個代碼,我收到一個「範圍」的對象_Global'失敗「錯誤,我希望有人可以幫助至於爲什麼。我在網上查找,似乎一切似乎建議我需要具體指明代碼所指的哪個表單,我使用的是With和End With。請參閱下面的代碼;VBA錯誤消息 - 對象_Global'的方法'範圍'失敗

With ThisWorkbook.Worksheets("Tables") 
Range(StartingPoint, EndPoint).Copy 
End With 

但是,它似乎並沒有工作。此代碼上面指定的變量如下所示;

Dim ws7 As Worksheet 
Set ws7 = ActiveSheet 

Dim StartingPoint As Range 
Dim EndPoint As Range 
Set StartingPoint = Sheets("Tables").Range("C58:R58").Find(ws7.Range("C3")) 
If Not StartingPoint Is Nothing Then 
Set EndPoint = StartingPoint.Offset(10, 0) 
End If 

任何幫助和/或有用的閱讀材料將不勝感激。

謝謝。

+0

錯誤代碼在代碼中出現的位置,是否在使用前檢查了啓動點和終點? –

+0

這是在With/End中的範圍在第一組代碼中,它在哪裏下降。 – FISHED

+0

只是一個快速的評論:除了在他的回答中提到的@Rory的句號,你確定StartingPoint已經被設置爲任何東西,因爲如果它不是,那麼EndPoint將永遠不會被設置,因此失敗。 – Alex4336

回答

1

With說法目前並未做任何事情,你有沒有合格Range調用 - 它需要:

With ThisWorkbook.Worksheets("Tables") 
.Range(StartingPoint, EndPoint).Copy 
End With 

注意句號在.Range

而且,這是假定這兩個範圍在表格中,否則代碼將失敗。

+0

Thanks @Rory。我已經這樣做了,現在出現一個錯誤,說「應用程序定義或對象定義的錯誤」。是不是使用Dim/Set編碼來定義StartingPoint/EndPoint? – FISHED

+0

桌子上的這兩個範圍? – Rory

+0

是的,第一個範圍決定參數1,但它也被稱爲確定參數2,這個想法是兩者一起提供範圍。所以是的,這兩個範圍都在桌子上。 – FISHED

相關問題