Oireet
Microsoft Office Excelissä Laskentataulukon tai työkirjan takana oleva Microsoft Visual Basic for Application (VBA) -makrokoodi ei ehkä toimi oikein.
Syy
Näin tapahtuu, jos molemmat seuraavista ehdoista täyttyvät:
-
Kyseinen koodi sisältyy automaattisesti käynnissä olevaan alirutiiniin, kuten Auto_Open tai Auto_Close alirutiiniin.
-
Koodi ei sisälly Visual Basic -moduuliin, vaan se on laskentataulukon tai työkirjan takana.
Vaihtoehtoinen menetelmä
Jotta automaattisesti suoritettavat aliohjelmat toimivat oikein Microsoft Excelissä, niiden on oltava Visual Basic -moduulissa.
Sinun on lisättävä Visual Basic -moduuli työkirjaan ja sijoita koodi uuteen moduuliin. Visual Basic -moduulin lisääminen:-
Aktivoi Visual Basic Editorin Project Explorerissa työkirja, joka sisältää kyseisen koodin.
-
Valitse Lisää-valikossa Moduuli.
Kun uusi moduuli on lisätty, leikkaa koodi alkuperäisestä sijainnistaan ja liitä se Visual Basic -moduuliin. Tallenna sitten työkirja.
Lisätietoja
Excelissä VBA-koodi voidaan tallentaa kolmeen eri sijaintiin: Visual Basic -moduuliin, Visual Basic -luokkamoduuliin ja "takana" laskentataulukoihin ja työkirjoihin.
Voit muokata laskentataulukon tai työkirjan takana olevan koodin muokkausta:-
Aktivoi Visual Basic Editor (paina ALT+F11).
-
Project Explorer -ikkunassa näkyvät seuraavanlaiset merkinnät:
VBAProject (Book1)
Microsoft Excel Objects
Sheet1 (Sheet1)
Sheet2 (Sheet2)
Sheet3 (Sheet3)
ThisWorkbook
Modules
Module1
Jos kaksoisnapsautat jotakin laskentataulukon nimeä tai Tätä työkirjaa, voit kirjoittaa koodin koodi-ikkunaan. Tällaista koodia, joka ei sisälly Visual Basic -moduuliin, pidetään laskentataulukon "takana" tai
Tämä työkirja. Jos Auto_Open, Auto_Close tai muu automaattisesti käynnissä oleva alirutiini tallennetaan laskentataulukon tai ThisWorkbookin taakse, se ei ehkä toimi oikein, kun avaat tai suljet työkirjan tai suoritat toiminnon, jonka pitäisi aiheuttaa alirutiinin suorittaminen.