Makroer Run Fin Individuelt, men ikke Kollektivt
August 23 by Eliza
Guillermo har en rekke makroer som han kjører rutinemessig, og når han går hver av dem manuelt, de fungerer fint. Han forsøkte å plassere alle makroer i en "RunAll" makro (slik at han bare har til å kjøre en makro i stedet for seks individuelle makroer) og nå en av dem ikke kjøre skikkelig. Når han utfører RunAll makro, får han en feil som en celle er beskyttet og skrivebeskyttet. Men det er ingen beskyttelse på arket, og hvis han går makroene individuelt, så får han ikke feilen.
Det bør gå uten å si at makroen som utfører greit individuelt, men ikke sammen med de andre møter en noe som forårsaker det å ikke fungere riktig. Sannsynlig at det betyr at en makro kjører før den forlater arbeidsboken i en annen stat enn det ville være i hvis du kjørte makroene individuelt.
For eksempel, hvis dårlig oppførsel makro er den tredje i rekken til å kjøre, sjekk de to første makroer for å se hva de gjør. Har de endre de valgte cellene? Har de endre det aktive regnearket? Har de endre noen forhold som den tredje makro forventer? Noen av disse kan føre til at tredje makro å ikke fungere skikkelig.
Det er den andre forslag-om det aktive regnearket-som er det mest sannsynlige scenariet. Når du kjører makroen individuelt, sjansene er gode for at du kjører den med et bestemt regneark aktiv. De andre makroer, men kan endre det aktive regnearket til en annen, og at annet regneark kan være den som har beskyttelse brukes til det.
Løsningen er å sjekke hver makro å sørge for at det sparer stedsmessig informasjon (regneark, aktiv celle, valgte cellene, etc.) før du gjør noen endringer i noen av de. Med dem frelst, er det en enkel sak å gjenopprette dem på slutten av makroen.
Hvis det fortsatt ikke gjør det, så du må kanskje gjøre noen debugging. I "RunAll" makro, bruker VBA Editor å etablere et stoppunkt på linjen som kaller den sviktende makro. Du kan deretter bruke "Step Into" -kommandoen til å gå inn i makro og undersøke hvor feil oppstår. Vær spesielt oppmerksom på hva regneark og celler makroen prøver å endre, og deretter se om du kan finne ut hva som skjer med de tidligere makroer til å føre til at regnearket og celler. Du kan bruke en av følgende linjer i umiddelbar vinduet for å se hvor du er:
? ActiveSheet.Name
? ActiveCell.Address
Mens spore opp disse feiltypene kan være en utfordring, det lys i enden av tunnelen er at du vil ende opp med en perfekt fungerende "RunAll" makro som kan spare deg for mye tid.
ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (12710) gjelder for Microsoft Excel 2007, 2010, og 2013.
- • Makro kjører sakte, men Steps raskt
- • Din første Run: Starter sakte men sikkert
- • Bli kvitt inndelingsskift, men ikke § Formatering
- • Filer Åpne i Word 2003, men ikke Word 2000
- • Hva betyr "inntrufne, men ikke Rapportert" Mean?
- • Hva betyr "diktert men ikke Les" Mean?
- • Hvorfor trenger vi Tips for noen yrker, men ikke andre?
- • Fjerne Betingede formater, men ikke effekten
- • MS er en del av deg, men ikke alle dere