嘿,我所有的我的VBA代碼有一個相當奇怪的問題。我使用宏以編程方式添加/刪除用戶窗體控件。當我簡單地添加一個用戶表單控件,然後嘗試刪除它,一切工作正常。但只要我嘗試刪除剛剛創建和使用的userform控件(就像userform.Show一樣),我會收到標題錯誤。再次嘗試後,它的工作原理...所以第一個問題是,這到底是什麼?第二個問題是我該如何解決這個問題,或者我甚至需要解決這個問題?我可以通過某種錯誤處理來運行這個錯誤嗎?Excel VBA運行時錯誤'-2147319767(80028029)'
我不知道我的代碼部分有助於理解我的問題,但我相信代碼刪除用戶窗體控件可以幫助:
Public Function delete_userform_controls(strUserForm As String)
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim iCount As Integer
Dim cnt As Control
Dim iMaxColumns As Integer
Dim lCountOfLines As Long
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents(strUserForm)
For Each cnt In VBComp.Designer.Controls
If TypeName(cnt) = "Label" Then iMaxColumns = iMaxColumns + 1
Next cnt
With VBComp.Designer
For iCount = 0 To iMaxColumns - 1
.Controls.Remove ("label_" & iCount & "")
.Controls.Remove ("textbox_" & iCount & "")
Next
.Controls.Remove ("ok_button")
.Controls.Remove ("cancel_button")
End With
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Function
而只是另外,如果我不用戶的任何用戶我可以添加和刪除控件儘可能多,沒有錯誤... thx!
也許是這個問題:http://dailydoseofexcel.com/archives/2014/12/11/recent-update-of-office-causes-problems-with-activex-controls/ – 2014-12-13 14:58:22
你可以改變控件的可見性嗎? – Qbik 2014-12-13 21:53:36