Šī raksta Microsoft Excel 97 versiju skatiet rakstā 157346.Šī raksta Microsoft Excel 98 versiju skatiet rakstā 182482.
Simptomi
Programmā Microsoft Office Excel, Microsoft Visual Basic for Application (VBA) makro kods, kas ietverts darblapā vai darbgrāmatā, var nedarboties pareizi.
Cēlonis
Tas notiek tad, ja ir spēkā abi šie nosacījumi:
-
Apspriežamais kods ir ietverts automātiski notiekošā subroutine, piemēram, Auto_Open vai Auto_Close subroutines.
-
Kods nav ietverts Visual Basic modulī, bet "aiz" darblapā vai darbgrāmatā.
Risinājums
Lai automātiski palaistu subroutines, kas darbotos pareizi programmā Microsoft Excel, viņiem ir jāatrodas Visual Basic modulī. Ir jāievieto Visual Basic modulis darbgrāmatā un pēc tam šis kods jāievieto jaunajā modulī. Lai ievietotu Visual Basic moduli:
-
Visual Basic redaktora projekta pētniekā aktivizējiet darbgrāmatu ar attiecīgo kodu.
-
Izvēlnē ievietošana noklikšķiniet uz modulis.
Kad jaunais modulis ir ievietots, izgrieziet kodu tā sākotnējā atrašanās vietā un ielīmējiet to Visual Basic modulī. Pēc tam saglabājiet darbgrāmatu.
Papildinformācija
Programmā Excel VBA kodu var glabāt trīs dažādās vietās: Visual Basic modulī Visual Basic klases modulī un "aiz" darblapām un darbgrāmatām. Lai rediģētu kodu "Behind" darblapā vai darbgrāmatā:
-
Aktivizējiet Visual Basic redaktoru (nospiediet taustiņu kombināciju ALT + F11).
-
Projekta pētnieka logā redzēsit līdzīgus ierakstus:
VBAProject (Book1) Microsoft Excel Objects Sheet1 (Sheet1) Sheet2 (Sheet2) Sheet3 (Sheet3) ThisWorkbook Modules Module1
Ja veicat dubultklikšķi uz viena no darblapu nosaukumiem vai objekta šī darbgrāmata, varat ievadīt kodu logā kods. Šis kods, kas nav iekļauts Visual Basic modulī, tiek uzskatīts par "aiz" darblapā vaiobjekta šī darbgrāmata . Ja Auto_Open, Auto_Closevai cits Automātiskais subroutine tiek glabāts "aiz" darblapā vai objekta šī darbgrāmata, tā, iespējams, nedarbosies pareizi, atverot vai aizverot darbgrāmatu, vai veicot darbību, kurai ir jāizraisa subroutine izpilde.