我有一個Excel 2013宏工作簿。在一臺計算機上打開工作簿錯誤代碼32809,但不是其他計算機
該工作手冊在過去6個月內一直運行良好。今年的第一天,我有一個問題在下面的代碼行。所有這些代碼都是在工作簿打開時將activex複選框控件設置爲true。
Sheets(WSCHARTS).chkAllJPM.value = True
我設法通過以前的帖子解決這個問題。答案是遵循the instructions。然而,第一天返回辦公室的團隊成員在本工作簿中遇到問題。他們再一次使用這個工作簿,沒有任何問題。該代碼在上面的同一行上進行調試,錯誤代碼號爲32809.
我試着按照相同的說明修復了這個問題,但沒有喜悅。我無法在計算機上覆制這些問題。不確定是什麼原因導致了這個錯誤?
這是子例程。請注意WSCHARTS是公共常量字符串 - 其值爲「圖表」
Sub SetDefaultSetting()
' set the default view upon opening the spreadsheet
Dim ws As Worksheet
Dim wsTime As Worksheet
Set wsTime = ThisWorkbook.Sheets(WSTSJPM)
Set ws = ThisWorkbook.Sheets(WSCHARTS)
' get last date
Dim lRow As Long
lRow = wsTime.Range("A65536").End(xlUp).Row
ws.DropDowns("DropDownStart").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address
ws.DropDowns("DropDownEnd").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address
ws.Range(COLDATES & "1") = 1 ' start date is 12 dec 2013
ws.Range(COLDATES & "2") = lRow - 1 ' latest avaiable date
' control are linked to cells so just need to change their cell values
ws.Range("C1") = 6
ws.Range("D1") = 7
ws.Range("E1") = 8
ws.Range("F1") = 9
ws.Range("G1") = 10
' rest should be blank
ws.Range("H1") = 1
ws.Range("I1") = 1
ws.Range("J1") = 1
ws.Range("K1") = 1
ws.Range("L1") = 1
Sheets(WSCHARTS).chkAllJPM.value = True
ws.OLEObjects("chkBOAML5").Object.Enabled = False
Set wsTime = Nothing
Set ws = Nothing
UPDATE
所以我創建了一個新的工作簿,只是放置在Sheet1 &單一的ActiveX CheckBox控件更名爲chkTest。
我添加了下面的代碼。該代碼適用於我的電腦,但不適用於我的同事電腦。現在這很令人沮喪。有任何想法嗎?
Private Sub Workbook_Open()
Sheets("Sheet1").chkTest.Value = True
End Sub
另一個更新
不知道這有什麼與我的問題。當我按照前面提到的說明時,我注意到我的c:\ users \ username \ Appdata \ local \ Temp \ VBE目錄中有一個我的同事沒有的額外文件。
我有一個MsForms.exd和RefEdit.exd。我的同事只有MsForms.exd文件。這會導致任何問題嗎?
希望我的最後一次更新
因此改變在上面的更新正上方此的代碼下面的代碼,它現在的作品我們兩個的計算機上。有人能夠解釋爲什麼或者有什麼不同?
Private Sub Workbook_Open()
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
ws.OLEObjects("chkTest").Object.Value = False
End Sub
您提到錯誤代碼32809與打開工作簿錯誤有關。請檢查您打開工作簿的位置。如果可能,請發佈您的整個代碼塊。需要更多信息。另外,如果它在1臺計算機上工作,而不是其他,請檢查文件/文件夾的可訪問性。 – Alex
當工作簿打開時,它調用一個子例程。自行運行例程仍會在相同的地方導致相同的錯誤。我們在文件和目錄 – mHelpMe
上擁有相同的權限,執行debug.print並使用F8功能鍵運行代碼。檢查每個變量/對象是否正確賦值(即,爲新工作簿設置的'wb'值確實包含正確的值)。最後要檢查的是表單是否被鎖定。同樣,需要更多的代碼 – Alex