Fjölvi sem kynnt er hér er frábær leið til að vernda notendur frá því að loka skránni óvart fyrir vistun. Þegar þetta er útfært tryggir þetta fjölvi að Excel visti vinnubókina sjálfkrafa áður en henni er lokað.
Excel mun venjulega vara notendur sem eru að reyna að loka óvistaðri vinnubók og gefa þeim möguleika á að vista áður en þeim er lokað. Hins vegar geta margir notendur blásið framhjá viðvöruninni og óvart smellt á Nei og sagt Excel að loka án þess að vista. Með þessu fjölvi ertu að verjast þessu með því að vista sjálfkrafa fyrir lokun.
Hvernig macro virkar
Kóðinn er ræstur af BeforeClose atburði vinnubókarinnar. Þegar þú reynir að loka vinnubókinni kviknar þetta atvik og keyrir kóðann innan. Kjarni kóðans er einfaldur - hann spyr notendur hvort þeir vilji loka vinnubókinni. Fjölvi metur síðan hvort notandinn hafi smellt á Í lagi eða Hætta við.

Skilaboðin sem þú sérð þegar þú reynir að loka vinnubókinni.
Matið er gert með Select Case yfirlýsingu. Select Case yfirlýsingin er valkostur við If-Then-Else yfirlýsinguna, sem gerir þér kleift að framkvæma ástandsathuganir í fjölvunum þínum. Grunnuppbygging Select Case staðhæfingar er einföld:
Veldu Mál
Málið er =
Mál er=
Mál er=
Endurval
Með Select Case yfirlýsingu geturðu framkvæmt margar skilyrtar athuganir. Í þessu tilfelli ertu einfaldlega að athuga með OK eða Cancel. Skoðaðu kóðann:
Private Sub Workbook_BeforeClose(Hætta við sem Boolean)
'Skref 1: Virkjaðu skilaboðareitinn og byrjaðu að athuga
Veldu Case MsgBox ("Vista og loka?", vbOKCancel)
'Skref 2: Hætta við hnappinn ýtt á, svo hætta við lokunina
Case Is = vbCancel
Hætta við = satt
'Skref 3: OK takki ýtt á, svo vistaðu vinnubókina og lokaðu
Case Is = vbOK
ActiveWorkbook.Save
'Skref 4: Lokaðu Select Case yfirlýsingunni þinni
Endurval
End Sub
Í skrefi 1 virkjarðu skilaboðareitinn sem ástandsskoðun fyrir yfirlýsinguna Select Case. Þú notar vbOKCancel rök til að tryggja að OK og Cancel hnapparnir séu sýndir sem valkostir.
Í skrefi 2, ef notandinn smellti á Hætta við í skilaboðareitnum, segir fjölvi Excel að hætta við Workbook_Close atburðinn með því að senda True til Cancel Boolean.
Ef notandinn smellti á OK hnappinn í skilaboðareitnum tekur skref 3 gildi. Hér segirðu Excel að vista vinnubókina. Og vegna þess að þú stilltir ekki Hætta við Boolean á True, heldur Excel áfram með lokuninni.
Í skrefi 4, lokar þú einfaldlega Select Case yfirlýsingunni. Í hvert skipti sem þú setur upp Select Case verður þú að loka því með samsvarandi End Select.
Hvernig á að nota macro
Til að útfæra þetta fjölvi þarftu að afrita og líma það inn í Workbook_BeforeClose atburðakóðagluggann. Með því að setja fjölvi þar getur það keyrt í hvert skipti sem þú reynir að loka vinnubókinni:
Virkjaðu Visual Basic Editor með því að ýta á Alt+F11.
Í verkefnaglugganum, finndu nafn verkefnisins/vinnubókarinnar og smelltu á plúsmerkið við hliðina á því til að sjá öll blöðin.
Smelltu á This Workbook.
Í fellilistanum Atburður skaltu velja BeforeClose viðburðinn.
Sláðu inn eða límdu kóðann í nýstofnaða einingu.

Sláðu inn kóðann þinn í Workbook BeforeClose atburðinum.