Werkboekgebeurtenissen - Niet opslaan met bevriesvensters - VBA-codevoorbeelden

Pannen bevriezen met VBA

Ik heb onlangs gepost op Bevriezingsvensters in Excel, hier is hoe je het kunt doen met VBA:

Rijen bevriezen

 Rijen ("1:1"). Selecteer ActiveWindow.FreezePanes = True 

Kolommen bevriezen

 Bereik ("A:A").Selecteer ActiveWindow.FreezePanes = True

Rijen en kolommen bevriezen

 Bereik ("B2"). Selecteer ActiveWindow.FreezePanes = True

Pannen deblokkeren

 ActiveWindow.FreezePanes = False 

Werkmap dwingen om op te slaan zonder deelvensters te bevriezen

Met Excel kunnen we dingen regelen door middel van gebeurtenissen. Dit artikel is geen gedetailleerde discussie over wat evenementen zijn of hun kenmerken. In plaats daarvan geeft het een voorbeeld van een WorkBook Event. Dit zijn gebeurtenissen die op werkmapniveau worden gehouden in plaats van op een bepaald werkblad.

Via VBA kunnen we bepalen wat er gebeurt bij bepaalde gebeurtenissen, zoals vóór het afdrukken of vóór het opslaan. Een veelvoorkomend probleem waar ik mee te maken heb, is dat een aantal mensen met wie ik werk niet van bestanden houden met Freeze Panes erop.

Dus in dit artikel zullen we wat code samenstellen die zal controleren of Panes bevriezen is ingeschakeld en als dat zo is, wordt het bestand niet opgeslagen. Dit betekent dat ik het moet bewaren zonder ruiten te bevriezen - om mijn collega's tevreden te houden !!

Het belangrijkste van werkmapgebeurtenissen is dat ze op de juiste plaats moeten worden opgeslagen - op werkmapniveau.

Volg de onderstaande stappen om toegang te krijgen tot het werkmapniveau:

1. Klik met de rechtermuisknop op een Excel-werkmap - bekijk code:

2. Dit brengt naar voren:

3. Dubbelklik op "Deze werkmap" en selecteer vervolgens "Werkmap" in de eerste vervolgkeuzelijst aan de linkerkant:

We zien dat de waarde aan de linkerkant nu is veranderd in "Open" - met wat code voor de Workbook Open Event. Met deze code kunnen we bepalen wat er gebeurt wanneer de werkmap voor de eerste keer wordt geopend.

We willen echter bepalen wat er gebeurt als we de werkmap opslaan. Dus verander de rechter drop-down naar "Before Save". Het scherm ziet er nu als volgt uit:

We voegen nu de volgende code in na de aangifte:

Als ActiveWindow.FreezePanes = True Dan is MsgBox "Bevriesvensters aan - Bestand is NIET OPGESLAGEN" Annuleren = True End If

Zodat de volledige code er nu als volgt uitziet:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If ActiveWindow.FreezePanes = True Dan MsgBox "Bevriesvensters is ingeschakeld - Bestand is NIET OPGESLAGEN" Annuleren = True End If End Sub

Sla nu het bestand op en activeer DAARNA Freeze Panes in elk venster. Dan - RESERVEER het bestand. Er verschijnt een msgbox waarin staat dat "Bevries Panes" is ingeschakeld - en het bestand is niet opgeslagen.

Het bestand wordt inderdaad niet opgeslagen totdat Freeze Panes is verwijderd.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave