tekst veranderen door bepaalde tekst en/of dubbelklik.

Status
Niet open voor verdere reacties.

KrikkeS

Gebruiker
Lid geworden
18 mrt 2022
Berichten
29
beste,

Ik heb deze formule:

Code:
If Not Intersect(Target, Range("P2:P101")) Is Nothing Then
    
        Application.EnableEvents = False
        If ActiveCell.Value = "WERKEN" Then
            ActiveCell.Value = "NIET WERKEN"
        Else
            ActiveCell.Value = "WERKEN"
        End If
        Cancel = True
    End If
End sub
Al van alles geprobeerd maar kom er niet uit.
Nu zou ik graag hebben, als er in cel I2 vanuit een keuzemenu WL aangeduid
dat er in P2 de waarde in eerste instantie veranderd naar "NIET WERKEN"
Als ik op P2 dubbelklik moet deze alsnog WERKEN kunnen weergeven.
wie zou mij hiermee op weg kunnen helpen
moet wel zeggen dat ik nog niet zolang (zelfstudie) vba aan het leren ben.
gr
Krikke.
 
Laatst bewerkt door een moderator:
Plaats een voorbeeld document.
Gebruik daar ook niet ActiveCell maar Target.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("P2:P101")) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = IIf(Target.Value = "WERKEN", "NIET WERKEN", "WERKEN")
        Application.EnableEvents = True
        Cancel = True
    End If
End Sub
 
Laatst bewerkt:
beste,
ik heb dit bestand al eens doorgestuurd.
hoop dat je hier iets mee bent.
gr
krikkeS
 

Bijlagen

  • 220319 V1 helpmij.nl.xlsm
    447,5 KB · Weergaven: 12
Laatst bewerkt door een moderator:
Ik zie nergens in dat document dat je de voorbeeldcode die ik plaatste hebt gebruikt.
 
probeer deze eens
sorry, is hier nog nieuw voor mij.
 

Bijlagen

  • prbeersel nwb 26-01 nieuwe regimelijst met macro 3.xlsm
    218,5 KB · Weergaven: 13
Laatst bewerkt door een moderator:
Wat je vraagt werkt gewoon in dat document.
Al heb je niet mijn voorbeeld gebruikt.
 
Laatst bewerkt:
u voorbeeld werkt ook, daarvoor al dank
maar ik zou graag hebben dat, wanneer je WL aanduid de cel van Niet werken/werken direct op niet werken komt te staan zonder deze aan te klikken.
maar moet nog wel door dubbelklik aangepast kunnen worden dat hij gaat werken ook al staat hij WL.
komt raar over maar zou ook die keuze moeten kunnen maken.
gaat dat, of is dit onmogelijk?

gr
KrikkeS
 
Met aanduiden bedoel je een dubbelklik in kolom I?
Zet dit er dan bij:
Code:
    If Not Intersect(Target, Range("I2:I101")) Is Nothing Then
        Application.EnableEvents = False
        Range("P" & Target.Row) = IIf(Range("P" & Target.Row) = "WERKEN", "NIET WERKEN", "WERKEN")
        Application.EnableEvents = True
        Cancel = True
        Exit Sub
    End If
 
Wat je vraagt werkt gewoon in dat document.
Al heb je niet mijn voorbeeld gebruikt.


als je er een oplossing voor zou kunnen geven;
zou het dan mogelijk zijn om er wat uitleg bij te zetten?
is maar dat ik dan zelf het ook beter kan snappen en hiervan bij kan leren
is niet de bedoeling dat ik codes gewoon ga knippen en plakken voor de gemakkelijkheid.

alvast bedankt voor de moeite.
gr
KrikkeS
 
Ik bedoel dubbelklik in kolm P


Met aanduiden bedoel je een dubbelklik in kolom I?
Zet dit er dan bij:
Code:
    If Not Intersect(Target, Range("I2:I101")) Is Nothing Then
        Application.EnableEvents = False
        Range("P" & Target.Row) = IIf(Range("P" & Target.Row) = "WERKEN", "NIET WERKEN", "WERKEN")
        Application.EnableEvents = True
        Cancel = True
        Exit Sub
    End If
 
Dubbelklik in kolom P werkt al.
Maar wat bedoel je dan met WL aanduiden?
 
In vb:I2 kan je een keuze maken tussen verschillende keuzes.
als je hier WL kiest zou P2 automatisch niet werken moeten komen,
als er door omstandigheden toch moet gewerkt worden blijft WL staan omdat deze persoon eigenlijk geen werk heeft, maar door op P2 te dubbel klikken zou er toch werken moeten komen staan.
hopelijk heb ik het goed verwoord.
gr
KrikkeS
 
Laatst bewerkt door een moderator:
Zet dan deze er bij achter dat werkblad:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("I2:I101")) Is Nothing Then
        Application.EnableEvents = False
        If Target.Value = "WL" Then Range("P" & Target.Row) = "NIET WERKEN"
        Application.EnableEvents = True
        Exit Sub
    End If
End Sub
 
dat werkt al perfect,
nu zit ik enkel nog als WL door omstandigheden toch veranderd, kan dat dan ook naar automatisch op werken kunnen veranderen en al hij niet gaat werken dat deze niet gaat werken door dubbelklik op niet werken wordt gezet.
klinkt allemaal wat chaotisch, en dat is het voor mij ook wel een beetje:d
alvast een dikke merci.
 
Laatst bewerkt door een moderator:
Dat klinkt chaotish inderdaad, maar je zou nu genoeg info moeten hebben om het te maken zoals je wilt.
Bijvoorbeeld:
Code:
Range("P" & Target.Row) = Iif(Target.Value = "WL", "NIET WERKEN", "WERKEN")
 
man da werkt perfect,
Wa ben ik jaloers op u dat gij da zo kunt. ik hoop da ik na veel oefenen dat ooit ook kan..
Als je tips hebt voor meer info ivm zelfstudie. ik hoor het graag.
alvast merci en hoop in de toekomst nog gebruik te mogen maken van uw talent als ik er niet uit geraak.

groetjes
KrikkeS
 
Laatst bewerkt door een moderator:
Gewoon zo doorgaan.
Zo heb ik ook geleerd wat ik nu weet :)
 
@krikke: wellicht is het je al opgevallen, maar niemand behalve jij gebruikt de QUOTE knop om een bericht te maken. Toch iets om over na te denken…
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan