2015-01-02 59 views
1

我正在使用Excel 2013.我有一個excel工作簿。該工作簿在工作表「圖表」中包含一個activex複選框控件。該控件稱爲chkAll。當打開工作簿時,會應用一些默認設置,其中之一是使該複選框處於選中狀態。下面的代碼行是我正在使用的。在電子表格中使用activex複選框控件

Sheets("charts").chkAll.value = true 

這已在過去幾個月工作,但今天它已不再工作。獲取錯誤消息「對象不支持此屬性或方法」。

另外,當我手動嘗試從ActiveX控件部分添加複選框到電子表格時,我收到一條錯誤消息,說我「無法插入對象」。

不知道爲什麼這些錯誤現在發生?

+2

聽起來像是你被擊中這個:HTTP ://excelmatters.com/2014/12/10/office-update-breaks-activex-controls/ – Rory

+1

感謝Rory已經解決了這個問題。會花費很多年試圖找到它!如果您將您的評論轉貼爲答案將很樂意將其標記爲答案 – mHelpMe

回答

3

這是由防止ActiveX控件在Excel工作簿中工作的Microsoft更新引起的。關閉所有的Office程序,然後導航到:

C:\ Users \ [用戶名] \ AppData \本地的\ Temp \ Excel8.0

和刪除MSForms.exd文件將解決此問題。

這是一個臨時文件,將在您再次啓動Excel時重新創建,因此不必擔心刪除它。

+2

無論您的版本如何,它實際上都是Excel8.0。 ;) – Rory

+0

謝謝Rory,我沒有意識到這一點!上面編輯:) –

0

試試這個(爲工作表中的ActiveX控件):

ThisWorkbook.Sheets("charts").Shapes("chkAll").OLEFormat.Object.Value = 1 '= true // for false the value is -4146. 

此外,對於片中使用內部表單複選框:

ThisWorkbook.Sheets("charts").Shapes("chkAll").ControlFormat.Value = 1 '= true // for false the value is 0.  
相關問題