2016-11-04 59 views
0

同一工作簿的兩個副本我有,當我打開工作簿,直到最近它工作得很好運行的宏。整個事情是相當大的,而且我不知道,這是導致問題的宏本身,而是它下面的代碼塊中止就行Set ovn3 = Range(startpunkt, sluttpunkt)代碼運行將終止與開放

If fra <= aktivtområde.Cells(aktivtområde.Rows.Count, 1) Then 
    Set startpunkt = aktivtområde.Find(What:=DateValue(fra), LookIn:=xlFormulas, LookAt:=xlWhole, MatchCase:=False, After:=aktivtområde.Cells(aktivtområde.Rows.Count, 1)) 
    If startpunkt Is Nothing Then 
     Set startpunkt = aktivtområde.Cells(1, 1) 
    End If 
    Set sluttpunkt = aktivtområde.Find(What:=DateValue(til), LookIn:=xlFormulas, LookAt:=xlWhole, MatchCase:=False, After:=aktivtområde.Cells(aktivtområde.Rows.Count, 1)) 
    If sluttpunkt Is Nothing Then 
     Set sluttpunkt = aktivtområde.Cells(aktivtområde.Rows.Count, 1) 
    End If 
    Set ovn3 = Range(startpunkt, sluttpunkt) 
    End If 

嘗試打印所使用的一些變量在代碼塊,我可以確認開始和sluttpunkt有效singlecell範圍,但得到了同樣的錯誤,從一個嘗試引用的範圍內其他時候:

enter image description here

而且,當我點擊了Excel似乎在代碼視圖/工作簿之間切換任務欄中的符號是同一工作簿打開的兩個實例 - 一個受保護,一個在「普通」視圖:

enter image description here

我懷疑這可能是我的問題的原因,但我不確定如何規避它。

我公司最近從Office 2013升級到Office 2016這是當我懷疑的問題出現了。

任何人都可以在這裏提供,我怎麼可能再有正確的代碼運行任何見解?

+0

榮譽對@ YowE3K爲解決這個問題,但我會步執行代碼,並找出在這一點你最終有兩個工作簿開放,因爲它聽起來像你插在泄漏,但另一個問題是指日可待... –

回答

0

你應該有資格,你指的是哪種表,即

Set ovn3 = aktivtområde.Range(startpunkt, sluttpunkt). 

沒有它可能試圖訪問一個範圍在一張紙上不上表中存在兩個小區之間的資格。