Beforesave functie op meerdere tabbladen

Status
Niet open voor verdere reacties.

Wilfrie

Gebruiker
Lid geworden
2 jul 2017
Berichten
22
Beste Forummers,

Ik heb een vraag omtrent de functie "BeforeSave" in VBA.
Momenteel ben ik bezig met een formulier zodanig in te richten dat ik op twee tabbladen deze functie wil gebruiken, echter zal de gebruiker deze altijd maar op één van de twee tabbladen terecht komen. Zodra deze wordt opgeslagen zal deze in mijn huidige functionaliteit altijd kijken of alle velden welke ik verplicht hebt gemaakt "BeforeSave" zijn ingevuld, ongeacht of ze op de tab stonden welke ze niet hebben bekeken.

Is het mogelijk om deze functionaliteit op meerdere tabbladen te zetten terwijl bij het opslaan alleen wordt gekeken naar het tabblad waar op men zit?

Zie hieronder mijn huidige inrichting (Van tabblad A):
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim Rij As Integer

    If Range("C8").Value = "" Then
        MsgBox ("Before saving enter Name")
    End If

        If Range("C9").Value = "" Then
        MsgBox ("Before saving enter Adress.")
        End If
        
        If Range("C10").Value = "" Then
        MsgBox ("Before saving enter Postal code")
        End If
        
        If Range("C11").Value = "" Then
        MsgBox ("Before saving enter the City")
        End If
         
End Sub

Met vriendelijke groet,
Wilfrie
 
Laatst bewerkt:
Ik verwacht dat je meer wilt, maar een direct antwoord op je vraag is dit:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Select Case ActiveSheet.Name
        Case "A"
            [COLOR="#008000"]'Controleer Blad A[/COLOR]
            If Range("C8").Value = "" Then MsgBox ("Before saving enter Name")
            If Range("C9").Value = "" Then MsgBox ("Before saving enter Adress.")
            If Range("C10").Value = "" Then MsgBox ("Before saving enter Postal code")
            If Range("C11").Value = "" Then MsgBox ("Before saving enter the City")
        Case "B"
[COLOR="#008000"]            'Controleer Blad B
            'Doe hier wat er op blad B moet worden gedaan[/COLOR]
    End Select
End Sub
 
Laatst bewerkt:
Beste edmoor,

Bedankt voor je snelle reactie, het werkt perfect.

Mijn dank is groot.

Groet,
Wilfrie
 
Graag gedaan. Je bent denk ik de mogelijkheden van VBA aan het ontdekken? Kijk dan ook eens naar dit:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Select Case ActiveSheet.Name
        Case "Blad1"
            [COLOR="#008000"]'Controleer Blad A[/COLOR]
            If Verplicht(Range("C8"), "Before saving enter Name") Then Cancel = True: Exit Sub
            If Verplicht(Range("C9"), "Before saving enter Address") Then Cancel = True: Exit Sub
            If Verplicht(Range("C10"), "Before saving enter Postal Code") Then Cancel = True: Exit Sub
            If Verplicht(Range("C11"), "Before saving enter City") Then Cancel = True: Exit Sub
        Case "Blad2"
            [COLOR="#008000"]'Controleer Blad B[/COLOR]
            [COLOR="#008000"]'Doe hier wat er op blad B moet worden gedaan[/COLOR]
    End Select
End Sub

Function Verplicht(Cel As Range, Bericht As String) As Boolean
    If Cel.Value = "" Then
        MsgBox Bericht, vbExclamation, "Verplicht"
        Application.Goto Cel
        Verplicht = True
    End If
End Function
 
Nogmaals dank edmoor,

Ik ben inderdaad VBA aan het ontdekken en zie dat er hele leuke bruikbare dingen zaken aanwezig zijn.
Heb gelijk je input getest en dit is misschien nog wel beter, ga deze eens doorvoeren voor het gehele bestand.

Grappig dat je ziet dat ik VBA aan het ontdekken ben :).

Heb je toevallig nog tips waar ik de basis een beetje onder de knie kan krijgen (Boeken, Fora oid)?

Groet,
Wilfrie
 
Heb gekeken en heb al het e.e.a. gevonden.
Echter kan ik met deze hulp de volgende vraag niet beantwoorden misschien dat je me hier nog mee kunt helpen.

Ik heb 4 checkboxen welke aangevinkt kunnen worden "Besturing element: CheckBox13_Klikken" nu wil ik dat zodra één van deze checkboxen wordt aangevinkt één ander veld verplicht wordt om in te vullen. Zodra deze allemaal niet staan aangevinkt is het veld dan ook niet verplicht.

Heeft iemand enig idee?

Groet,
Wilfrie van de Griendt
 
Daarvoor kan je beter een nieuwe vraag openen. Zet er dan ook een voorbeeld document bij met de verschillende checkboxen en uitleg welke cellen wel of niet verplicht gevuld moeten worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan