Сценарий
У меня есть две пользовательские формы, в результате чего, когда я нажимаю кнопку в первой пользовательской форме, отображается вторая и затем выгружается первая пользовательская форма.
Проблема
У меня возникает ошибка памяти при нажатии на один listbox
, присутствующий во второй пользовательской форме
Мой userform2
, как показано ниже
И ошибка, как показано ниже
Ниже приведены все коды в userform2
Private Sub UserForm_Initialize()
Dim reportWbi As Workbook
Dim internal As Worksheet
Set reportWbi = Workbooks.Add(reportFile)
Set internal = reportWbi.Worksheets("Internal")
internal.Select
LastAddress = internal.Range("C" & Rows.Count).End(xlUp).Address
ListBox2.RowSource = "C6:" & LastAddress
reportWbi.Close savechanges:=False
Set reportWbi = Nothing
Set internal = Nothing
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
reportCreator.Show
End Sub
На самом деле внутри не так уж много переменных или вещей. После отладки один за другим я заметил, что без следующих строк ошибок памяти нет
reportWbi.Close savechanges:=False
Set reportWbi = Nothing
Set internal = Nothing
В тот момент, когда я дал строку reportWbi.Close savechanges:=False
, выдается ошибка памяти.
Только примечание, что я использую офисную 365 и 8Gb RAM. Я не думаю, что это вызывает какие-либо проблемы
Кто-нибудь знает, что не так?
Редактировать 1
Я пробовал весь этот код в Файл фирменного Excel с одной пользовательской формой и той же ошибкой памяти. В тот момент, когда я удалил reportWbi.Close savechanges:=False
, все работает без ошибок
Редактировать 2
Я удалил код ListBox2.RowSource = "C6:" & LastAddress
, и на этот раз также без ошибок даже с reportWbi.Close savechanges:=False
настоящее
Очень странно, почему это происходит. Пожалуйста, помогите, если знаете что-нибудь об этом