• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro voor automatisch opslaan

Status
Niet open voor verdere reacties.

MrBob

Gebruiker
Lid geworden
3 aug 2013
Berichten
218
Hoi allen,

Ik heb een vraag. Ik heb een excell sheet die we gebruiken om gegevens in op te slaan. Echter gebeurd het nogal eens dat men wel de info invoert maar niet het bestand opslaat en of te laat opslaan. Ik wil dus eigenlijk een macro hebben die merkt dat er iets in de excell sheet staat dat nog niet is gesaved en het dan uiteindelijk gaat saven zonder iets te vragen zonder dat de gebruiker hier niets van merkt tijdens het saven. Ben benieuwd of dit mogelijk is. Bedankt voor de hulp alvast. :thumb:
 
Zet dit dan eens in je Werkboek:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Application
 .DisplayAlerts = False
 .EnableEvents = False
 .ThisWorkbook.Save
 .DisplayAlerts = True
 .EnableEvents = True
End With
End Sub

PS: 't is wel het tegenovergestelde van het gevraagde:
zonder dat de gebruiker hier niets van merkt
 
Laatst bewerkt:
En dat hoeft alleen maar te gebeuren als er een wijziging is. Daarop kan je controleren met:
If Not ThisWorkbook.Saved Then...
 
Yes, super bedankt, het is precies wat ik zocht. Ik kan weer verder ! ;)
 
En dat hoeft alleen maar te gebeuren als er een wijziging is. Daarop kan je controleren met:
If Not ThisWorkbook.Saved Then...

De eerste code werkt perfect, maar net zoals Ed zegt wil ik alleen maar saven als er een verandering is. Hoe ziet de code er dan compleet uit. Ik krijg het met zijn regel niet werkend helaas. Bedankt voor de hulp.
 
Compleet:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not ThisWorkbook.Saved Then
        With Application
            .DisplayAlerts = False
            .EnableEvents = False
            .ThisWorkbook.Save
            .DisplayAlerts = True
            .EnableEvents = True
        End With
    End If
End Sub
 
@edmoor

Wanneer wordt de gebeurtenis Workbook_SheetChange gestart ?
 
Yep. Alleen bij een wijziging in het blad en Thisworkbook.Saved is dan altijd False.
Je hebt gelijk :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan