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

Compileer Fout er is een dubbelzinnige naam gevonden

Status
Niet open voor verdere reacties.
Zoals ik al eerder zei is de methode die ik gebruikte makkelijk uitbreidbaar.
Tevens zou het ook voor jou eenvoudig te lezen moeten zijn.
 
Formule werkend krijgen als 1 of meerdere tabbladen openstaan

Hallo,

Het werkt goed als er een tabblad open staat. Als er meer dan een tabblad open staat wordt alleen het eerste openstaande tabblad gecontrolleerd op niet ingevulde velden. Wat moet er dan aangepast worden?
 

Bijlagen

  • Test 27-3.2.xlsm
    848,1 KB · Weergaven: 11
Dan voeg je die gewoon toe, wat je al hebt gedaan, maar dan moet je dat wel goed doen.
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not Cancel Then If Sheets("Rood").Visible Then Cancel = CheckRood
    If Not Cancel Then If Sheets("Wit").Visible Then Cancel = CheckWit
    If Not Cancel Then If Sheets("Blauw").Visible Then Cancel = CheckBlauw
    If Not Cancel Then If Sheets("[COLOR="#FF0000"]Blauw[/COLOR]").Visible Then Cancel = CheckOranje
End Sub
Maar zodra Cancel de waarde True heeft wordt de controle gestopt.
Je wilt een gebruiker dan niet met de rest lastig valllen.
Die komen vanzelf aan de beurt.
 
Laatst bewerkt:
Hallo Edmoor,

Wat moet er aangepast worden als is bij de validatie A T/M G namen maak. Als ik dat nu doe dan werkt het niet meer

Function CheckWit() As Boolean
With Sheets("Wit")
If .Range("K166") <> "" And .Range("AC166") <> "" Then
CheckWit = LegeCel("AB219", "Wit")
CheckWit = LegeCel("AB220", "Wit")
Select Case UCase(Range("AB220"))
Case "D", "E", "F", "G"
CheckWit = LegeCel("S218", "Wit")
CheckWit = LegeCel("S219", "Wit")
CheckWit = LegeCel("S220", "Wit")
End Select
CheckWit = LegeCel("AC221", "Wit")
End If
End With
End Function
 
Waarom werkt het verplicht invullen met alleen letters wel maar met tekst niet

Hallo Edmoor,

Waarom werkt deze wel.
Code:
Function CheckWit() As Boolean
    With Sheets("Wit")
        If .Range("K166") <> "" And .Range("AC166") <> "" Then
            CheckWit = LegeCel("AB219", "Wit")
            CheckWit = LegeCel("AB220", "Wit")
            Select Case UCase(Range("AB220"))
                Case "D", "E", "F", "G"
                    CheckWit = LegeCel("S218", "Wit")
                    CheckWit = LegeCel("S219", "Wit")
                    CheckWit = LegeCel("S220", "Wit")
            End Select
            CheckWit = LegeCel("AC221", "Wit")
        End If
    End With
End Function

En deze niet
Code:
Function CheckBlauw() As Boolean
    With Sheets("Blauw")
        If .Range("K166") <> "" And .Range("AC166") <> "" Then
            CheckBlauw = LegeCel("J220", "Blauw")
            CheckBlauw = LegeCel("O220", "Blauw")
             Select Case UCase(Range("O220"))
                Case "Sok", "Schoen"
                    CheckBlauw = LegeCel("W204", "Blauw")
                    CheckBlauw = LegeCel("W205", "Blauw")
                    CheckBlauw = LegeCel("W206", "Blauw")
            End Select
        End If
    End With
End Function
 

Bijlagen

  • Test 28-3.xlsm
    848,7 KB · Weergaven: 5
Er staat UCase(Range("O220")
Dan moet je dus SOK en SCHOEN schrijven, niet Sok en Schoen.
 
Extra controle toe voegen

Hallo Edmoor,

Ik wil een extra controle toe voegen. Hoe doe ik dit goed?

Code:
Function CheckRood() As Boolean
    With Sheets("Rood")
        If .Range("F210") <> "" And .Range("F213") <> "" Then
            CheckRood = LegeCel("J218", "Rood")
            CheckRood = LegeCel("O218", "Rood")
        End If
     If .Range("J32") <> "" And .Range("FJ34") <> "" Then
            CheckRood = LegeCel("M32", "Rood")
            CheckRood = LegeCel("M34", "Rood")
        End If
    End With
End Function
 

Bijlagen

  • Test 28-3.2.xlsm
    847,9 KB · Weergaven: 14
Extra controle op niet in gevulde velden.

Hallo,
Ik heb een document waar in gecontroleerd wordt of verplichte velden zijn ingevuld. Nu wil ik er een extra controle in hebben

Zo is het nu.
Function CheckRood() As Boolean
With Sheets("Rood")
If .Range("F210") <> "" And .Range("F213") <> "" Then
CheckRood = LegeCel("J218", "Rood")
CheckRood = LegeCel("O218", "Rood")
End If
End With
End Function

Dit werkt niet, Wat moet ik aanpassen zodat het wel werkt
Code:
Function CheckRood() As Boolean
    With Sheets("Rood")
        If .Range("F210") <> "" And .Range("F213") <> "" Then
            CheckRood = LegeCel("J218", "Rood")
            CheckRood = LegeCel("O218", "Rood")
        End If
        If .Range("J32") <> "" And .Range("J34") <> "" Then
            CheckRood = LegeCel("M32", "Rood")
            CheckRood = LegeCel("M34", "Rood")
        End If
    End With
End Function
 

Bijlagen

  • Test 28-3.2.xlsm
    847,9 KB · Weergaven: 15
Misschien het zelfde onderwerp maar voor mij een uitbreiding op wat ik doe, Stapje voor stapje kom ik steeds een stukje verder.
 
Probeer eens te begrijpen wat hetgeen je tot nu toe hebt gekregen precies doet.
Wat je vraagt zit er al lang in en het alleen maar voorgekauwd krijgen gaat voor jezelf niet opschieten.
 
2 topics samengevoegd.
 
Bedankt voor de schop onder mijn ****

Code:
Function CheckRood() As Boolean
    With Sheets("Rood")
        If .Range("F210") <> "" And .Range("F213") <> "" Then
            CheckRood = LegeCel("J218", "Rood")
            CheckRood = LegeCel("O218", "Rood")
         End If
    End With
    With Sheets("Rood")
        If .Range("J32") <> "" And .Range("J34") <> "" Then
            CheckRood = LegeCel("M32", "Rood")
            CheckRood = LegeCel("M34", "Rood")
        End If
    End With
End Function
 
De draad staat op opgelost en gaat maar door.....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan