Gjelder for
Excel 2007

Sammendrag

I Microsoft Excel kan du opprette en Microsoft Visual Basic for Applications (VBA)-makro som undertrykker meldingen Lagre endringer når du lukker en arbeidsbok. Dette kan gjøres enten ved å angi statusen for den lagrede egenskapen for arbeidsboken, eller ved å undertrykke alle varsler for arbeidsboken.

Mer informasjon

OBS! Microsoft tilbyr programmeringseksempler bare for illustrasjon, uten garanti enten uttrykt eller underforstått. Dette omfatter, men er ikke begrenset til, de underforståtte garantiene om salgbarhet eller egnethet for et bestemt formål. Denne artikkelen antar at du er kjent med programmeringsspråket som demonstreres, og med verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt fremgangsmåte. De vil imidlertid ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere fremgangsmåter for å oppfylle dine spesifikke krav. Hvis du vil forberede deg på å implementere et av eksemplene nedenfor, utfører du disse trinnene først:

  1. Start Excel og åpne en ny arbeidsbok.

  2. Trykk på ALT+F11 for å starte redigeringsprogrammet for Visual Basic.

  3. Klikk ModulSett inn-menyen.

  4. Skriv inn eksempelmakrokoden i modularket.

  5. Trykk på ALT+F11 for å gå tilbake til Excel.

  6. Velg Makro fra Verktøy-menyen i Microsoft Office Excel 2003 og i tidligere versjoner av Excel, og klikk deretter Makroer.Klikk Makroer i Kode-gruppen i kategorien Utvikler i Microsoft Office Excel 2007. Hvis Utvikler-fanen ikke er tilgjengelig, kan du vurdere å gjøre dette:     en. Klikk Microsoft Office-knappen , og klikk deretter Alternativer for Excel.b. Klikk for å velge Vis under Populære alternativer for å arbeide med Excel i populærkategorien         Utvikler-fanen i avmerkingsboksen på båndet, og klikk deretter OK.

  7. Merk makroen du vil bruke, og klikk deretter Kjør.

Lagre-egenskapen returnerer verdien Usann hvis det er gjort endringer i en arbeidsbok siden sist den ble lagret.Du kan bruke det reserverte underrutinenavnet Auto_Close til å angi en makro som skal kjøre når en arbeidsbok lukkes. Når du gjør dette, kan du kontrollere hvordan dokumentet håndteres når brukeren lukker dokumentene i Excel.  

Eksempel 1: Lukk arbeidsboken uten å lagre endringer

Hvis du vil tvinge en arbeidsbok til å lukke uten å lagre endringer, skriver du inn følgende kode i en Visual Basic-modul i arbeidsboken:  

    Sub Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Når Lagre-egenskapen er satt til Sann, reagerer Excel som om arbeidsboken allerede er lagret, og det har ikke oppstått noen endringer siden forrige lagring.DisplayAlerts-egenskapen for programmet kan brukes til samme formål. Følgende makro slår for eksempel DisplayAlerts av, lukker den aktive arbeidsboken uten å lagre endringer, og slår deretter DisplayAlerts på igjen.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

Du kan også bruke SaveChanges-argumentet for Lukk-metoden.Følgende makro lukker arbeidsboken uten å lagre endringer:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

Eksempel 2: Lukk arbeidsboken og lagre endringene

Hvis du vil tvinge en arbeidsbok til å lagre endringer, skriver du inn følgende kode i en Visual Basic-modul i arbeidsboken:  

    Sub Auto_Close()

        Hvis ThisWorkbook.Saved = False then

            ThisWorkbook.Save End If

    End Sub

Denne delprosesskontrollen kontrollerer om filens lagrede egenskap er satt til Usann. I så fall har arbeidsboken blitt endret siden forrige lagring, og disse endringene lagres.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.