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

Opslaan bestand niet toegestaan, verplicht veld invullen

Status
Niet open voor verdere reacties.

carloschouw

Gebruiker
Lid geworden
15 jun 2015
Berichten
225
Goedemiddag,

Ik loop een beetje te stoeien met het verplicht invullen van een tweetal cellen. Zonder het invullen van deze cellen is opslaan van het werkbestand niet mogelijk. De code die ik probeer is als volgt:

Code:
Private Sub Worksheet_Change(ByVal target As Range)

If target.Address = "$A$1" Then
  If Range("A1").Value = "" Then
   MsgBox ("U mag dit veld niet leeg laten")
   
   If target.Address = "$B$1" Then
  If Range("B1").Value = "" Then
   MsgBox ("U mag dit veld niet leeg laten")
   
  End If
End If
End Sub

Nu krijg ik de functionaliteit niet aan de praat. Er volgt geen MsgBox dat de velden ingevuld moeten worden. Wat doe ik verkeerd?

Het is in ieder geval de bedoeling dat dit enkel voor een specifiek werkblad geldt, b.v. alleen Blad1 en dat het werkbestand open blijft staan totdat de twee cellen ingevuld zijn.

Kan iemand mij op weg helpen hiermee?
 

Bijlagen

Bijvoorbeeld in de ThisWorkbook sectie:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not CheckCel(Range("A1")) Then Cancel = True
    If Not CheckCel(Range("B1")) Then Cancel = True
End Sub

Function CheckCel(Target As Range) As Boolean
    If Target.Value = "" Then
        MsgBox ("U mag dit veld niet leeg laten")
        Target.Activate
        CheckCel = False
    End If
    CheckCel = True
End Function
 
Laatst bewerkt:
Hoi edmoor,

Dank voor je ondersteuning. Ik heb het uitgevoerd en getest maar het werkt niet lekker. De eerste keer kreeg ik een melding om A1 en B1 in te vullen, kon gewoon afsluiten zonder iets in te vullen. Bij het nogmaals openen van het Excelbestand werkte de functie niet meer, wel toen ik de code opnieuw invoerde. Dat komt omdat ik het bestand enkel opende en weer sloot zonder bewerking. Voerde ik b.v. in cel K1 iets in dan kreeg ik de melding 'opslaan?', toen kwam het verplicht invullen venster weer naar voren maar kon ook weer opslaan zonder iets in te voeren
 

Bijlagen

probeer het eens zo.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 If Sheets("Blad1").Range("A1") = "" Then
    MsgBox ("U mag dit veld niet leeg laten")
           Application.Goto Sheets("Blad1").Range("A1")
    Cancel = True
    Exit Sub
 End If
 
 If Sheets("Blad1").Range("B1") = "" Then
    MsgBox ("U mag dit veld niet leeg laten")
           Application.Goto Sheets("Blad1").Range("B1")
    Cancel = True
    Exit Sub
 End If
 
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan