Delen via

Verplichte velden toepassen

Anoniem
2010-09-08T16:24:25+00:00

Hoe kan ik ervoor zorgen dat bepaalde velden verplicht gevuld moeten worden anders kan het document niet worden opgeslagen.

Ik heb reeds een macro in ThisWorkbook dat ervoor zorgt dat een formule datum wordt opgeslagen als tekst op het moment dat het bestand dmv Opslaan als wordt opgeslagen en die automatisch het bestandsnaam aangeeft.

Ik zou de controle van de verplichte velden graag willen opnemen in deze macro.

Groetjes Joyce

(ik zelf heb Office 2007, maar ik maak het voor 2003, dus het bestand is in compatibiliteitsmodus)


Mvg Joyce

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

Antwoord geaccepteerd door vraagauteur

  1. Anoniem
    2010-09-09T20:00:08+00:00

    Probeer dit dan Joyce

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

       If SaveAsUI Then

           If Range("A1").Value = "niet opslaan" Then

               MsgBox "Vul eerst de verplichte velden(*) in !!"

               Cancel = True

           Else

               MsgBox "wissel deze regel met de code die je will runnen"

           End If

       End If

    End Sub

     --

    Regards Ron de Bruin

    http://www.rondebruin.nl/tips.htm

    "JV76" wrote in message news:*** E-mailadres is om privacyredenen verwijderd ***...

    En hoe regel ik dat de controle genegeerd wordt bij het opslaan,

    maar wel uitgevoerd word en ook gecanceld wordt bij het opslaan als?

    groetjes Joyce


    Mvg Joyce

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen

10 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2010-09-08T20:40:04+00:00

    Als ik op opslaan druk wordt er ook gecontroleerd of de verplichte velden gevuld zijn terwijl dit alleen bij opslaan als moet gebeuren en zodra ik de msgbox weg klik door op OK te drukken wordt er wel opgeslagen.. dus waar gaat het niet goed in mijn macro? (vet gedrukt is toegevoegd aan de reeds bestaande macro welke goed werkte)

    Ik heb de volgende macro in ThisWorkbook en in A1 staat de volgende formule

    =ALS(EN(A17="AUTOVERK";B8<>"";B9<>"";B10<>"";18<>"";C19<>"";C20<>"";C22<>"");"opslaan";ALS(EN(A17<>"AUTOVERK";B8<>"";B9<>"";B10<>"";B13<>"";B14<>"");"opslaan";"niet opslaan"))

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Dim strBestandsnaam As String

    Dim dlg As FileDialog

    On Error GoTo Err_Exit

    If Range("A1") = "niet opslaan" ThenMsgBox "Vul eerst de verplichte velden(*) in !!"Cancel = TrueEnd IfstrBestandsnaam = "C:\Users\Kolibrie\Garage" & "FACTUUR " & Range("F10") & " " & Range("G10") & ".PDF"

    If StrComp(strBestandsnaam, Me.FullName, vbTextCompare) <> 0 _

    And SaveAsUI = True Then

        Range("F8:F9").Select

        Selection.Copy

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

            :=False, Transpose:=False

    Set dlg = Application.FileDialog(msoFileDialogSaveAs)

    Cancel = True

    With dlg

    .InitialFileName = strBestandsnaam

    If .Show = True Then

    Application.EnableEvents = False

    Application.DisplayAlerts = False

    .Execute

    End If

    End With

    End If

    Exit_Exit:

    Application.DisplayAlerts = True

    Application.EnableEvents = True

    Exit Sub

    Err_Exit:

    MsgBox Err.Description

    Resume Exit_Exit

    End Sub


    Mvg Joyce

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2010-09-08T16:50:08+00:00

    Dat noem ik "snelle reactie".

    Thanx ga het proberen.. laat weten of het werkt

    gr joyce


    Mvg Joyce

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2010-09-08T16:43:17+00:00

    Trouwens in het event dat je denk gebruikt kan je cancel = true

    gebruiken om het opslaan niet uit te voeren als alle cellen geen waarde hebben


    Regards Ron de Bruin

    http://www.rondebruin.nl/tips.htm

    "Ron de Bruin" <*** E-mailadres is om privacyredenen verwijderd ***> wrote in message news:*** E-mailadres is om privacyredenen verwijderd ***...

    Probeer dit om 4 cellen te testen

        If Application.WorksheetFunction.CountA(Range("A1:A3,B1")) < 4 Then

           msgbox "Vul A1:A3 en B1 in AUB"

       End If

     -- Regards Ron de Bruin

    http://www.rondebruin.nl/tips.htm

    "JV76" wrote in message news:*** E-mailadres is om privacyredenen verwijderd ***...

    Hoe kan ik ervoor zorgen dat bepaalde velden verplicht gevuld moeten worden anders kan het document niet worden opgeslagen.

    Ik heb reeds een macro in ThisWorkbook dat ervoor zorgt dat een formule datum wordt opgeslagen als tekst op het moment dat het bestand dmv Opslaan als wordt opgeslagen en die automatisch het bestandsnaam aangeeft.

    Ik zou de controle van de verplichte velden graag willen opnemen in deze macro.

    Groetjes Joyce

    (ik zelf heb Office 2007, maar ik maak het voor 2003, dus het bestand is in compatibiliteitsmodus)


    Mvg Joyce

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2010-09-08T16:39:33+00:00

    Probeer dit om 4 cellen te testen

        If Application.WorksheetFunction.CountA(Range("A1:A3,B1")) < 4 Then

           msgbox "Vul A1:A3 en B1 in AUB"

       End If

     --

    Regards Ron de Bruin

    http://www.rondebruin.nl/tips.htm

    "JV76" wrote in message news:*** E-mailadres is om privacyredenen verwijderd ***...

    Hoe kan ik ervoor zorgen dat bepaalde velden verplicht gevuld moeten worden anders kan het document niet worden opgeslagen.

    Ik heb reeds een macro in ThisWorkbook dat ervoor zorgt dat een formule datum wordt opgeslagen als tekst op het moment dat het bestand dmv Opslaan als wordt opgeslagen en die automatisch het bestandsnaam aangeeft.

    Ik zou de controle van de verplichte velden graag willen opnemen in deze macro.

    Groetjes Joyce

    (ik zelf heb Office 2007, maar ik maak het voor 2003, dus het bestand is in compatibiliteitsmodus)


    Mvg Joyce

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen