datum vastzetten

Status
Niet open voor verdere reacties.

Lampie173

Gebruiker
Lid geworden
21 jan 2012
Berichten
154
Goedemorgen heren,


Ik heb meerdere selecties verdeeld over 2 kolommen en wil als in een van die selecties iets veranderd in een bepaalde cel de datum vastgezet wordt.
In het forum e.e.a. gevonden en aangepast, maar ook gelezen dat je Change in een project of werkblad maar 1 keer kan gebruiken

In bijgevoegde bijlage staat meer info over bovenvermeld onderwerp.
 

Bijlagen

  • Datum vastzetten over meerdere selecties.xlsx
    10,5 KB · Weergaven: 29
Laatst bewerkt:
Voor iedere "Target" dient aparte code te worden gemaakt in dezelfde Event Routine (Private Sub Worksheet_Change(ByVal Target As Range)).
 
Goedemorgen Edmoor,

Dank voor je antwoord.

Ik dacht zelf als zoiets.

Dus C4:C9, C12:c15 C18:C20, C22:C23 enz.?

Kan ik daar dezelfde stukje code voor gebruiken zoals die in de bijlage is opgenomen?

mvg,

Toon
 
Jazeker.
Op bijvoorbeeld deze manier:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C21:C21")) Is Nothing Then
        Target.Offset(-16, 9).Value = Date
        Exit Sub
    End If
    
    If Not Intersect(Target, Range("C4:C9")) Is Nothing Then
        [COLOR="#008000"]'Je code[/COLOR]
        Exit Sub
    End If

    If Not Intersect(Target, Range("C12:C15")) Is Nothing Then
        [COLOR="#008000"]'Je code[/COLOR]
        Exit Sub
    End If
End Sub

Enzovoort.
 
Laatst bewerkt:
Edmoor,

Ik krijg de volgende melding:

Foutmelding 1004
door de toepassing of door object gedefinieerde fout.


op regel: Target.Offset(-18, 9).Value=date.

dat is mijn 9toegevoegde) code
 
Als je huidige regel in het werkblad kleiner is dan 19 zal je inderdaad die fout krijgen.
 
Hmmm,

ik kan veranderen wat ik wil maar foutmelding blijf terugkomen.

Het eerste stukje (C21:C21) heb ik getest en die doet wat het moet doen.
 
Plaats je document met code en vertel wat er gedaan moet worden om de fout te veroorzaken.
 
Oei, dat klinkt wel heel streng!:eek:

Bestand met code bijgevoegd.
 

Bijlagen

  • Datum vastzetten over meerdere selecties.xlsm
    16 KB · Weergaven: 30
Streng is dat niet bedoeld, gewoon handig :)

Wanneer ik in cel C4 wat invul wordt de code netjes uitgevoerd en verschijnt de fout die je hebt gemeld.
Hij gaat dan mis op:
Target.Offset(-15, 9).Value = Date

En dat is volkomen logisch omdat die -15 betekent dat er op regel 4 -15 in kolom 9 wat moet worden ingevuld.
Het aangeven van een regel in het werkblad met een nummer dat kleiner is dan 1 gaat uiteraard mis.
Precies wat ik in #6 al aangaf.

Zorg er dus voor dat je in de code de juiste regel voor kolom 9 aangeeft.
Bijvoorbeeld:
Target.Offset(Target.Row, 9).Value = Date
Of welke regel het dan ook moet zijn.
 
Laatst bewerkt:
Goedenavond,

Ondanks dat ik door Edmoor op weg geholpen ben......

Het lukt mij niet!

Ik begrijp nu wat Offset doe en hoe het reageert, alleen dat met Target.Row dat is nog wel een dingetje.


Groet,

Toon
 
Als in C4 wat wordt ingevuld, op welke regel in kolom I (9) moet dan die datum worden geplaatst?
 
Edmoor, allereerst mijn excuus,

Ik ben denk onduidelijk geweest!

In mijn werkblad heb ik 2 kolommen C en I waar in de grijze gekleurde cellen een getal komt te staan.
Als er wat gewijzigd wordt in beide kolommen dan moet de datum van die bewuste dag vastgelegd worden in cel L7.
Is misschien wat onduidelijk in mijn voorbeeldbestand.

De roze cel in kolom C is voor elkaar met Offset. Dat stukje code werkt prima.
En de uitleg van jou over de -regels in de Offset formule snap ik nu ook, ik ben daar achter gekomen toen ik wat getallen in de coderegels ging veranderen.

Alleen die Target.Row.....

Groet,

Toon
 
Dan kan je toch gewoon dit gebruiken?
Code:
Range("L7").Value = Date

N.B.:
Target is de actieve cel.
Target.Row is het regelnummer van de actieve cel.
 
Laatst bewerkt:
Ok!:shocked:

Ik zit ook al zo lang thuis dat je soms dingen niet meer ziet!
En eerlijk gezegd VBA is voor mij alweer heel lang geleden.

Mijn dank is groot Edmoor!
 
Graag gedaan :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan