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

Tickbox - relatieve functie in VBA

Status
Niet open voor verdere reacties.

johnbeton10

Nieuwe gebruiker
Lid geworden
12 okt 2018
Berichten
1
Hi Allen,

Ik gebruik VBA om, wanneer ik de tickbox aanvink, automatisch een macro uit te voeren die de =now() functie toepast in een gedefineerde cel in kolom D.
Op dit moment is dit een harde allocatie tussen de benoemde tickbox naar deze cel op dezelfde lijn als het selectievakje. Echter, dit zorgt natuurlijk voor problemen wanneer ik extra rijen toevoeg of andere aanpassingen maak.

Is het mogelijk om mijn fuctie om te bouwen zodat deze automatisch de =now() functie toepast in de relatieve cel die overeenkomt met dezelfde rij waar het selectievakje zich in bevindt?

Dit zou hoe dan ook eenvoudiger zijn dan voor ieder selectievakje apart een stukje code te schrijven.

1.JPG

De code die ik gebruik:

Sub Test_Tick()

If Worksheets("Sheet1").Shapes("Tickbox_1").ControlFormat.Value = xlOn Then
Worksheets("Sheet1").Range("D2").Value = Now
Else
Worksheets("Sheet1").Range("D2").Value = ""
End If​
 
Is een dubbelklik in kolom D niet handiger?
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 4 Then
        Target.Value = IIf(Target.Value = "", Now, "")
        Cancel = True
    End If
End Sub
 
Wat is een tickbox? Met plaatjes kunnen we niet zoveel en code graag tussen codetags. Zie ook https://www.helpmij.nl/forum/announcement.php?f=5

Meestal wordt het gebruik van een CheckBox afgeraden voor jouw doel omdat ze wat weerbarstig kunnen zijn. Gebruik daarom de methode van @edmoor in #2 in combinatie met het slim opmaken van de cellen.
 

Bijlagen

  • Windings dubbelklik.xlsb
    14 KB · Weergaven: 32
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan