真的很困擾這個,找到了一個解決方案,但它不是一個真正令人滿意的解決方案。 我有一個工作簿,有兩個用戶窗體,一個用於輸入數據,一個用於搜索以前輸入的數據,第三個用戶窗體設計爲日期選擇器窗體,設置爲在輸入指定日期文本框時激活。用戶窗體上的其他用戶窗體控件的設置值關閉
單獨我沒有問題,用戶單擊文本框並顯示日期選擇器窗體,他們做出選擇,關閉日期選擇器窗體並將日期添加到文本框中。在「輸入數據」窗體上,我有一個多頁面,每個頁面上都有一個日期選擇文本框,在「查找數據」窗體上,我可以選擇搜索單個日期或範圍,3日期選擇文本總共盒子。
現在我注意到,userform1(輸入數據)提示運行時錯誤91 - 對象變量或塊變量未設置,並在代碼中標記userform2的第一行時,每當我從日期選擇器中選擇一個日期形成。
什麼我也注意到然而是正確的日期仍然被輸入到文本框,以便我加了高亮線,是允許的動作發生不中斷上述的「對錯誤轉到」線修復。我注意到的是,現在如果我在userform2上的任何位置輸入日期(查找數據),然後關閉表單並決定要輸入數據,userform1上的文本框將包含前一個選擇在userform2上的任何內容。尤其令人困惑的是,UF1的初始化事件在日期文本框中輸入當前日期。
看到下面的代碼,有沒有更好的方法來寫這個?我希望我解釋得很好,請讓我知道,如果我可以提供更多的細節來幫助。
Sub CloseDatePicker(save As Boolean)
If UserForm1.MultiPage1.Value = 0 Then
UserForm1.tbDate.Text = Calendar1.Value
UserForm1.cbMember.SetFocus
ElseIf UserForm1.MultiPage1.Value = 1 Then
UserForm1.tbDate2.Text = Calendar1.Value
UserForm1.cbMember2.SetFocus
End If
On Error GoTo dpexit
If UserForm2.ActiveControl.Name = "TextBox1" Then
UserForm2.TextBox1.Text = Calendar1.Value
End If
If UserForm2.ActiveControl.Name = "TextBox2" Then
UserForm2.TextBox2.Text = Calendar1.Value
ElseIf UserForm2.ActiveControl.Name = "TextBox3" Then
UserForm2.TextBox3.Text = Calendar1.Value
End If
dpexit:
Me.Hide
End Sub
你隱藏UserForm2或卸載它嗎? – Comintern
用戶表單1和2都被設置爲「卸載我」。但是在用戶窗體DatePickerForm關閉時發生問題,而不是userform1或userform2。 – Awill
我不確定如何添加文件作爲示例。讓我知道它是否真的有助於理解我遇到的情況。 – Awill