1
我有一個VBA宏,通過詢問用戶一系列問題(要求他們說哪一個打開的工作簿執行哪個功能)來打開。我有一系列userform.show的如下命令:Excel VBA未顯示用戶表單
UserForm2.Show ' select cost data file
Set piersBook = ActiveWorkbook
UserForm5.Show ' select IRR file
Set irrBook = ActiveWorkbook
UserForm6.Show ' select BC summary file
Set bcSummary = ActiveWorkbook
(現在,事情發生後,我意識到這將是更簡單地把這些變成一個用戶窗體)。
最終效果是不顯示。
經過一番研究,我改變了代碼:
UserForm2.Show ' select cost data file
Set piersBook = ActiveWorkbook
UserForm5.Show ' select IRR file
Set irrBook = ActiveWorkbook
DoEvents
UserForm6.Show ' select BC summary file
Set bcSummary = ActiveWorkbook
這工作了約5或6次迭代,才恢復到原來的問題。
我在用戶窗體初始化代碼中放置了斷點。他們都被調用並且用戶表單都工作了(直到我再次移除斷點)。
最後我開始刪除有問題的用戶表單:問題轉移到下一個問題。再一次,當它被刪除,以前的一個。
用戶窗體碼是相同的:
Private Sub ListBox1_Click()
Workbooks(ListBox1.Value).Activate
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim wb As Workbook
For Each wb In Workbooks
ListBox1.AddItem wb.Name
Next wb
End Sub
任何想法?目前我正在對不理想的投入進行硬編碼。 非常感謝。
大 - 非常感謝。 – user13167