Być może miałem ostatnio ten sam problem, spójrz na procesy, po użyciu makra, jeśli excel jest nadal w użyciu, oznacza to, że nie zamykasz całkowicie procesu i idzie nie tak przy drugim uruchomieniu
Sub FermetureExcel()
Set xlFeuilMeca = Nothing
Set xlFeuilComm = Nothing
'Fermeture du classeur et de Excel
oXL.DisplayAlerts = False
oXL.Workbooks.Close
oXL.Quit
oXL.DisplayAlerts = True
'Désallocation de la mémoire
Set oSH = Nothing
Set oWB = Nothing
Set oXL = Nothing
End Sub
Jeśli ponownie uruchomisz makro i nadal znajduje się ono w tym samym pliku, nie będzie mogło dwukrotnie utworzyć strony "ZESTAWY", "CZĘŚCI MECHANICZNE" i "ARTYKUŁY KOMERCYJNE"
Umieść warunek, jeśli strona nie istnieje, zostanie utworzona.
Twoje makro wypełnia plik Excela za każdym razem, gdy klikniesz po otwartym złożeniu, tworzysz/otwierasz nowy plik Excela za każdym razem, gdy przechowujesz wszystkie informacje w jednym pliku?
Wiem, że jest to problem z niewydanym zasobem programu Excel. Próbowałem zamknąć plik Excela za pomocą programu Excel, gdy makro jest zakończone, i ponownie uruchomić makro, ale nadal mam ten sam problem.
Czy istnieje test, który pozwala dowiedzieć się, czy zasób jest zwolniony, a jeśli nie, z jego zwolnienia?
Jedynym rozwiązaniem, jakie do tej pory znalazłem, jest zabicie procesu Excela na końcu przetwarzania.
W przeciwnym razie jest jakby zagubiony między dwoma obecnymi procesami Excela i nie wie, w którym z nich uruchomić, i obojętnie przyjmuje dobre lub złe.
Jedyne wytłumaczenie, jakie znalazłem u moich kilku znajomych z VB.
Biorąc pod uwagę, że problem polega na tym, że podczas formatowania i tego, że mój excel jest poprawnie wypełniony, powiemy, że ten problem jest "akceptowalny"...