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

Macro om data vanuit kolom B te kopieren naar kolom C

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
949
Hallo,

Ik ben op zoek naar een code die de data vanuit kolom B kopieert naar kolom C en deze toevoegt aan de al bestaande data (zie voorbeeld) en er een datum van vandaag aan toevoegd. Dit is een actie die automatisch uitgevoerd moet worden zonder dat deze handmatig wordt geactiveerd.

Het programma moet de volgende actie uitvoeren:
- Kijken of de activiteit vanuit kolom B al in kolom C voorkomt;
- zo niet, deze toevoegen aan de bestaande data in kolom C en er een datum aan toevoegen;
- zo ja, niets doen.

De laatste activiteit blijft zichtbaar in kolom B staan.

A B C
Naam Activiteit Alle activiteiten
Jan Wandelen Bergbeklimmen (1-5-2009), zeilen 20-6-2010
Piet Bergbeklimmen Wandelen (12-12-2011), fietsen (5-5-2008)
Frits Zeilen (5-6-2010)
Klaas Surfen Fietsen (2-8-2011)


Naam Activiteit Alle activiteiten
Jan Wandelen Wandelen (datum van vandaag), bergbeklimmen (1-5-2009), zeilen (20-6-2010)
Piet Bergbeklimmen Bergbeklimmen (datum van vandaag), wandelen (12-12-2011)
Frits Zeilen (5-6-2010)
Klaas Surfen Surfen (datum van vandaag), fietsen (2-8-2011)

Alvast hartelijk dank voor de medewerking

Robert
 
Laatst bewerkt:
hallo Robert
2 dingen:
1)zet de de datum in aparte kolommen
2)voeg een bijlage toe anders moeten we alles zelf aanmaken

groet sylvester
 
Bestand toegevoegd

Bedankt voor jouw snelle reactie.

Ik heb deze vraag via mijn werkgever geplaatst en kon even helaas van daaruit geen bestand meesturen.

Volgens mij moet het lukken om de datum van vandaag te koppelen en hoef je daar geen aparte kolom voor aan te maken. Maar het zou fijn zijn als het lukt en nogmaals bedankt voor de moeite, ik waardeer dat enorm.

Robert
 

Bijlagen

fout bestand

Het bestand is gemaakt in Excel 2010 en opgeslagen voor '97 / '03. Ik weet niet met welke versie jij werkt, dan moet ik morgen andes even twee bestanden toesturen één met een .xlsm en een die is opgeslagen als .xls. Ik werk thuis met 2010 en weet dat ik dat ook niet in kan lezen, daar heb je bepaalde software voor nodig.

Ik voeg sowieso morgen er een bestand aan toe, als jij even doorgeeft welke versie jij gebruikt.

Alvast bedankt.
 
Nieuw bestand

Hallo,

Hierbij het vernieuwde bestand ik hoop dat het lukt.

Nogmaals ontzettend bedankt voor de moeite.

Robert
 

Bijlagen

Het juiste bestand

Sorry, vorige was versleuteld, maar deze moet goed zijn. Nogmaals bedankt.
 

Bijlagen

Ik zie geen resultaat

Hoi Sylvester,

Bedankt, maar helaas zie ik geen resultaat, ik kan ook geen macro ontdekken, doe ik iets niet goed?

Groeten,
Robert
 
Het werkt perfect

Sylvester,

De code werkt perfect, super bedankt. Het enige probleempje was de eerste keer, toen gaf hij een foutmelding en sprong naar de code. Maar na deze weggeklikt te hebben ging het perfect. Ik zal morgen deze code ook op het werk uitproberen. Waar moet ik trouwens op klikken om bij de code te komen en hoe zet ik zelf deze code op zijn plaats als ik deze aangepast wil gebruiken voor een ander bestand?. Kan ik dat doen bij macro open/opnemen?

Nogmaals heel erg bedankt.

Groeten, Robert
 
hallo Robert,
je heb hem niet goed getest
als je iets in typt dat al bestaat dan voegt de macro deze ook toe aan kolom C
voor de oefening moet je de oude code weg halen en deze plaatsen in het codeBlad van bald1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [B:B]) Is Nothing Or Target.Cells.Count <> 1 Or Target = "" Then Exit Sub
    If InStr(1, Target.Offset(0, 1), Target) = 0 Then
        Target.Offset(0, 1) = Target & "(" & Date & "), " & Target.Offset(0, 1)
    End If
End Sub
groet sylvester
 
code met uitleg:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   [COLOR="#008000"] 'target is de cel waar je getypt hebt[/COLOR]
    If Intersect(Target, [B:B]) Is Nothing Or Target.Cells.Count <> 1 Or Target = "" Then Exit Sub
   [COLOR="#008000"] '1 kijk of Target in kolom B staat
    '2 kijk of Target maar 1 cel bevat
    '3 kijk of target niet leeg is
    'als aan alle 3 de voorwaarden wordt voldaan dan doorgaan[/COLOR]
    If InStr(1, Target.Offset(0, 1), Target) = 0 Then
   [COLOR="#008000"] 'hier staat: als tekst van target niet voorkomt in de buur van target dan ....[/COLOR]
        Target.Offset(0, 1) = Target & "(" & Date & "), " & Target.Offset(0, 1)
        [COLOR="#008000"]'voeg target to aan buurcel (in kolom C)[/COLOR]
    End If
End Sub
 
Laatst bewerkt:
bedankt helemaal top

Syvester,

Hier kan ik zeker mijn voordeel mee doen en hartelijk dank voor de uitleg en de tijd die je er in hebt gestoken, ik waardeer dat enorm.

Groet, Robert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan