该工作手册在过去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
2015-01-07
mHelpMe
+0
您提到错误代码32809与打开工作簿错误有关。请检查您打开工作簿的位置。如果可能,请发布您的整个代码块。需要更多信息。另外,如果它在1台计算机上工作,而不是其他,请检查文件/文件夹的可访问性。 –
+0
当工作簿打开时,它调用一个子例程。自行运行例程仍会在相同的地方导致相同的错误。我们在文件和目录 –
+1
上拥有相同的权限,执行debug.print并使用F8功能键运行代码。检查每个变量/对象是否正确赋值(即,为新工作簿设置的'wb'值确实包含正确的值)。最后要检查的是表单是否被锁定。同样,需要更多的代码 –