• 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.

Controle voor opslaan

Status
Niet open voor verdere reacties.

martijnbos

Gebruiker
Lid geworden
17 dec 2010
Berichten
101
Hoi allemaal,

Ik heb onderstaande VBA code staan die moet controleren of in cel A1 een waarde staat.
Dit moet hij doen voor het opslaan of het opslaan als. Als er geen waarde in cel A1 staat, dan moet jij een melding geven en terug gaan naar cel A1.
Bij de functie opslaan gaat hij terug naar cel A1, maar bij de functieo " opslaan als" niet. Dan kan je het document toch opslaan ondanks dat er in cel A1 geen waarde staat

Iemand enig idee wat er fout in de code staat?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If [A1] = "" Then
MsgBox ("Vul een waarde in")
Application.GoTo [A1]
Exit Sub
End If
End Sub

Gr.
Martijn
 
Ik denk dat het zo moet.
Code:
[A1].select
 
Laatst bewerkt:
Hoi,

Dit is helaas niet de oplossing. Bij de functie opslaan als controleert hij wel op cel A1 en komt ook met de msgbox. Alleen als je daar op klikt dan gaat hij niet terug naar cel A1, maar kan je gewoon het bestand opslaan als..


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If [A1] = "" Then
MsgBox ("Vul een waarde in")
[A1].Select
Exit Sub
End If
End Sub
 
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If [A1] = "" Then
MsgBox ("Vul een waarde in")
Application.Goto [A1]
[COLOR="red"]Cancel = True[/COLOR]
End If
End Sub
 
eh,

heb nu de code werkend. Maar ik wil hem opslaan zonder een waarde in cel a1.
Deze cel moet de gebruiker straks gaan vullen
Maar ja, hij blijft natuurlijk zeggen dat ik een waarde moet ingeven.

hhhmmm, iemand enig idee?
 
eh,

heb nu de code werkend. Maar ik wil hem opslaan zonder een waarde in cel a1.
Deze cel moet de gebruiker straks gaan vullen
Maar ja, hij blijft natuurlijk zeggen dat ik een waarde moet ingeven.

hhhmmm, iemand enig idee?

Macro's uitschakelen en opslaan zonder waarde in a1.
Dat is dus ook je volgende probleem.

Mathieu
 
hmm, lastig vraagstuk.
de macro uitschakelen is niet echt de oplossing. Iemand een ander idee?
 
Hoi Martijnbos,

Shift ingedrukt houden tijdens het openen of op "Macro's uitschakelen" klikken na het openen kan iedereen.
Dat wil je eigenlijk niet want dan kunnen ze het bestand ook opslaan zonder iets ingevuld te hebben in A1. Dit is wat ik bedoelde met "Dat is dus ook je volgende probleem".
Sorry dat ik geen oplossing aanbied, maar ik wil je alleen maar attenderen op de tekortkomingen van de gebruikte code.

Succes,
Mathieu
 
Je zult vast wel meer cellen moeten invullen behalve cel A1.
Kun je geen constructie maken in de trand van :
A1 moet altijd ingevuld worden als Cel B1 niet leeg is.
en A1 kan alleen maar ingevuld worden als B1 niet leeg is?
 
Willem,

Het gaat om 30 cellen waarop die controleert, dus dat moet wel te doen zijn.
Maar je blijft toch het probleem houden dat gebruikers altijd de macro kunnen uitschakelen?
 
Ik weet niet precies wat de bedoeling is van je bestandje .
Daarom hier een klein voorbeeldje om bepaalde cellen verplicht in te voeren.
Dit geheel zonder VBA maar mbv datavalidatie.
 

Bijlagen

  • eerst invullen .xls
    17,5 KB · Weergaven: 41
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan