Wpis z mikrobloga

#excel #vba trochę #programowanie

Mam kawałek takiego kodu:


I zatrzymuje się on w linijce "Set grafikL2 = ..." z błędem: Application-defined or object-defined error.

Co ciekawe, jak podczas breaka zmienię ręcznie arkusz na "Zesp - L2" to ruszy dalej i zatrzyma się w linijce niżej i znów to samo. Ręczna zmiana na "Zesp - L3", F8 i jedzie dalej.

Co ciekawe odpalałem dzisiaj ten kod wcześniej i nie wyrzucał mi tego błędu.

Pamiętam, że miałem też kiedyś podobny problem z kopiowaniem zakresów pomiędzy skoroszytami. Obszedłem to stosując z każdym kopiowanym zakresem metody "Activate" na skoroszycie docelowym i źródłowym. Było to oczywiście dość łopatologiczne rozwiązanie, ale teraz problem się pojawia ponownie i chcę to załatwić jak należy ;)
  • 5
Zgaduję, że to rozwiąże twój problem:

Set WKS = Worksheets("Zesp - L1")
Set grafikL1 = WKS..Range(WKS.Cells(3, 3), WKS.Cells(z, 26))

Czyli komórka C3 była brana za każdym razem z activesheet a nie z arkusza "Zesp - L1,2,3"