Ved hjelp av makroer for å spare arbeidsbøker når Cells Change

I Excel, kan du arbeide på data som er så følsom at du ønsker å spare hver gang en bestemt celle eller celleområdet endres. Denne makroen lar deg definere et område av celler som, når endret, tvinger arbeidsboken for å lagre.

I det viste eksemplet vil du arbeidsboken for å spare når en endring er gjort til noen av cellene i spekter C5. C16
Endre en celle i C5. C16 tvinger arbeidsbok for å spare
Hvordan makro verk

Hemmeligheten til denne koden er Intersect metoden. Fordi du ikke vil lagre regnearket når noen gamle celleforandringer, bruker du Snitt metode for å fastslå om målcellen (cellen som endret) skjærer med området som er spesifisert som trigger område (C5: C16 i dette tilfellet) .

Snitt metoden returnerer en av to ting: en Range objekt som definerer skjæringspunktet mellom de to angitte områder, eller ingenting. Så i essensen, må du kaste målcellen mot Snitt metode for å sjekke om en verdi på noe. På dette punktet, kan du bestemme om du vil lagre arbeidsboken
Private Sub Worksheet_Change (ByVal Target As Range) 'Trinn 1:. Har endret utvalg skjærer? Hvis Intersect (Target, Range ("C5: C16")) Er Ingenting Then'Step 2: Hvis det ikke er krysset, avslutter prosedyren Exit Sub'Step 3: Hvis det er et kryss, lagrer arbeidsboken Else ActiveWorkbook.Save'Step 4: Lukk ut Hvis uttalelsen End IfEnd Sub

I trinn 1, du bare sjekke for å se om målet celle (cellen som er endret) er i området angitt av Intersect metoden. En verdi på Ingenting betyr at målcellen er utenfor området som er angitt.

Trinn 2 tvinger makro å stoppe og gå ut av prosedyren hvis det ikke er krysset mellom målcellen og det angitte området.

Hvis det er et kryss, Trinn 3 branner Lagre metoden av den aktive arbeidsboken, overskrive den forrige versjonen.

I trinn 4, du bare lukke ut Hvis uttalelse. Hver gang du starter en If-Then-Else sjekk, må du lukke den ut med en tilsvarende End If.

Hvordan bruke makroen

For å implementere denne makroen, må du kopiere og lime den inn i Worksheet_Change hendelsen kodevinduet. Plassere makro her gjør det mulig å kjøre hver gang du gjør endringer til arket.

  • Aktiver Visual Basic Editor ved å trykke Alt + F11

    I prosjektvinduet, finne prosjekt /arbeidsbok navn og klikk på plusstegnet ved siden av den for å se alle arkene.

    Klikk på arket som du ønsker å utløse koden.

    I Hendelsesrullegardinlisten velger du Endre hendelsen.

    Skriv eller lim inn koden i den nyopprettede modulen, endre området postadresse for å dekke dine behov.
    Tast inn koden din i regnearket Change hendelse.