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

Marco voor blokkeren invoer

Status
Niet open voor verdere reacties.

wimix69

Gebruiker
Lid geworden
19 mrt 2011
Berichten
215
Hallo,

Ik wil graag een macro

Als er in cel F18 of F20 Voorraad_1.5 of Voorraad 1.6 staat moeten cel P26 & P29 geblokeerd worden en leeg zijn zodat er niets ingevuld kan worden en leeg is. Als er iets anders staat in Cel F18 en F20 moeten Cel P26 & P29 vrij zijn om iets in te vullen.

Zie voorbeeld

Alvast bedankt
 

Bijlagen

  • Test 9-10-2023.xlsx
    10,7 KB · Weergaven: 13
Heb je zelf al iets geprobeerd met de Worksheet_Change en Worksheet_SelectionChange gebeurtenissen?
 
Code:
=EN(F18<>"voorraad_1.5";F18<>"voorraad_1.6")
Of misschien gegevensvalidatie gebruiken met bovenstaande formule.
 
Bedoel je zoiets?
 

Bijlagen

  • Test 9-10-2023.xlsm
    28,2 KB · Weergaven: 9
Of zo:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$18" Or Target.Address = "$F$20" Then
        If Target.Value = "Voorraad_1.5" Or _
            Target.Value = "Voorraad_1.6" Then
            Application.EnableEvents = False
            Range("P$26").Value = ""
            Range("P$29").Value = ""
            Application.EnableEvents = True
        End If
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$P$26" Or Target.Address = "$P$29" Then
        If Range("F18") = "Voorraad_1.5" Or _
            Range("F18") = "Voorraad_1.6" Or _
            Range("F20") = "Voorraad_1.5" Or _
            Range("F20") = "Voorraad_1.6" Then
            Target.Value = ""
            Application.Goto Range("F18")
        End If
    End If
End Sub
 
Code:
If instr("$F$18$F$20",Target.address)*instr("Voorraad_1.5Voorraad_1.6",target) then Range("P$26,P$29").clearcontents
 
Bedoel je zoiets?

Dit bedoel ik bij na. Als er eerst iets in gevuld wordt in cel P26 en of P29 en je maakt daarna de keuze in F18 en of F20 dan blijft de ingegeven waarde staan die is in gegeven in P26 en P29 deze moet dan ook gewist worden.
 
Als je de code begrijpt weet je ook waar je deze coderegel moet plaatsen.
Code:
Range("P26,p29").ClearContents
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan