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

Aanvinken + datum

Status
Niet open voor verdere reacties.

marijn12

Gebruiker
Lid geworden
8 okt 2012
Berichten
13
Ik heb in Excel een kolom aangemaakt met vierkantjes om aan te vinken. Nu wil ik dat de datum verschijnt wanneer het vierkantje aangevinkt wordt. Hoe kan ik dit doen?

Marijn 12
 
marijn12,

Plaats eens een voorbeeld, met uitleg waar de datum moet komen.
 
Verschillende kolommen aan te vinken naast elkaar

Ik heb ondertussen al gevonden hoe ik het aanvinken en de datum moet koppelen. Nu is het probleem dat ik meerdere kolommen naast elkaar aan te vinken heb en de datum telkens in kolom B terechtkomt. Hoe kan ik die datum ook in andere kolommen krijgen?

marijn 12

Dit is de programmacode wanneer de datum terechtkomt in kolom B:

Sub Process_CheckBox()

Dim cBox As CheckBox
Dim LRow As Integer
Dim LRange As String

LName = Application.Caller
Set cBox = ActiveSheet.CheckBoxes(LName)

'Find row that checkbox resides in
LRow = cBox.TopLeftCell.Row
LRange = "B" & CStr(LRow)

'Change date in column B, if checkbox is checked
If cBox.Value > 0 Then
ActiveSheet.Range(LRange).Value = Date

'Clear date in column B, if checkbox is unchecked
Else
ActiveSheet.Range(LRange).Value = Null
End If

End Sub
 
Dank je ExcelAmateur, dat is het principe dat ik bedoel. Het enige probleem is, dat als ik die cellen onder elkaar kopieer en probeer aan te vinken, dat al de gekopieerde cellen dan aan of uit gaan en ik eronder de vermelding 'WAAR' of 'ONWAAR' krijg. Hoe kan ik dit vermijden?

marijn 12
 
Bepaal net zoals je de rij bepaalt waarin de CBox zich bevindt nu ook de kolom.
Code:
LCol= cBox.TopLeftCell.Column
Gebruik dan ipv Range de methode
Code:
Cells(LRow,LCol)
om de datum te plaatsen.
 
Aangezien de vraag plots op opgelost staat zonder reactie van TS een iets compactere code
Code:
Sub Process_CheckBox()
    With ActiveSheet.CheckBoxes(Application.Caller)
        ActiveSheet.Cells(.TopLeftCell.Row + 1, .TopLeftCell.Column - 1).Value = IIf(.Value > 0, Date, Null)
    End With
End Sub
 
Laatst bewerkt:
Bekijk bijlage opvolglijst project.xlsx.xlsmBeste,

Ik heb nu het volgende bestand opgemaakt. het enige probleem dat ik nog ondervindt is dat wanneer ik een mijn bestand open op een andere datum. dat al mijn datums naar de huidige dag worden verzet. nu zou ik willen dat wanneer een checkbox is aangevinkt er een datum in een bepaalde cel wordt geplaatst en die niet meer wijzigt na open op een andere datum.

dank,
 
Je kan onderstaande macro toewijzen aan alle checkboxes, dan kan je alle formules verwijderen en worden ze niet herberekend bij opening v/h bestand.
Code:
Sub Process_CheckBox()
    With ActiveSheet.CheckBoxes(Application.Caller)
        ActiveSheet.Cells(.TopLeftCell.Row, .TopLeftCell.Column + 1).Value = IIf(.Value > 0, Date, Null)
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan