• 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 enkel opslaan als cel XX geen waarde heeft.

Status
Niet open voor verdere reacties.

inMilu

Gebruiker
Lid geworden
5 dec 2013
Berichten
35
Beste gebruikers,

Ik wil in mijn spreadsheet een knop aanmaken die automatisch opslaat en afsluit. Dat is mij gelukt middels deze code
Sub OpslaanAfsluiten()

ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Nu zou ik echter graag willen dat hij hem alleen opslaat als cellen C10,12,13,21,27,30,35,38 en D37,38 GEEN waarde hebben, en dus leeg zijn.
Wanneer je op de knop drukt en 1 van bovenstaande cellen heeft wel een waarde een bericht ( als dit mogelijk is ) met " Je moet nog op de OK knop drukken ".

B.v.d.!

inMilu
 
Zet in A1(of een andere hulpcel) een formule die het aantal argumenten van je reeks cellen telt:


Code:
Sub OpslaanAfsluiten()
 If Activesheet.Cells(1,1)=0 then 'cells(1,1) = cel A1
  ActiveWorkbook.Save
  ActiveWindow.Close
 End if
 End Sub
 
Hoi Cobbe,

Bedankt voor de snelle reactie. Even zien of ik het begrijp.
Met Activesheet.Cells(1,1) roep je A1 op toch? ( O wacht, dat achter de ' is een comment haha, sorry! )

En in A1 zet je dan een bijv. een som van alle cellen die ik zelf noemde. Wanneer er dan geen waarde is slaat hij op, en sluit hij af. Maar wat gebeurd er nu als er wel een waarde is? Komt er dan een foutmelding? En is het mogelijk om een bericht als foutmelding in te voeren?

Nogmaals bedankt!

[EDIT] Er komt inderdaad een foutmelding dat hij het niet kan uitvoeren wanneer die cel gevuld is(wat goed is). Is het mogelijk die foutmelding te vervangen door een eigen melding?

inMilu
 
Laatst bewerkt:
Je moet wel de boodschap nog aanpassen:

Code:
Sub OpslaanAfsluiten()
  If ActiveSheet.Cells(1, 1) <> 0 Then
    MsgBox (" Er staan nog gegevens in je bereik !"): Exit Sub
  End If
    ActiveWorkbook.Save
     ActiveWindow.Close
End Sub
 
Hoi Cobbe,

Wanneer er een waarde in de betreffende cel staat krijg ik nog steeds de " Fout tijdens opsporing " melding, en geen messagebox. Enig idee hoe dit komt?

B.v.d.

inMilu
 
Het is een aanvraag formulier met nummering. Deze nummering wordt middels een andere knop opgeslagen ( gekopieert en geplakt naar een ander tabblad, waar hij vervolgens ook weer uitgehaald word ) en het formulier word dan weer leeg gemaakt voor de volgende aanvraag. Als je dus eerst het bestand opslaat voordat dat gebeurd, dan klopt de nummering niet meer.

Daarom wil ik de "bestand opslaan" knop alleen laten gebeuren wanneer je het formulier leeg hebt gemaakt, en de nummering dus ge-update is.
 
Hmm, ik heb het anders opgelost! Als ik hem na het resetten van het formulier op dezelfde knop meteen opsla, dan werkt het ook!

Eigenlijk een beetje wat jij zei Rob, bedankt!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan