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

Automatisch inhoud van cel kopieren (VB?)

Status
Niet open voor verdere reacties.

Dijk79

Gebruiker
Lid geworden
15 mei 2007
Berichten
15
Hallo,

in de bijlage even een versimpeling van het ontstane probleem geplaatst. Is het mogelijk om de inhoud van cel A4 te kopieren naar de cel voor de eerste cel die gevuld is met de letter 'r' (zoals in dit voorbeeld) of de letter 'z'. De letters worden enkel binnen het domein van D4:Q4 geplaatst. Kan dit ook automatisch? maw; zou gauw ik 1 van de 2 genoemde letters plaats in het veronderstelde domein, dat dan automatisch de inhoud van cel A4 voor deze (reeks van) letter(s) wordt geplaatst?

alvast dank,

Groeten JamezBekijk bijlage Vraag helpmij.xlsx
 
Volgens deze code zou dat moeten lukkenj:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D4:Q4")) Is Nothing Or Selection.Cells.Count > 1 Then Exit Sub
If Target = "r" Or Target = "z" And Target.Offset(, -1) = "" Then Target.Offset(, -1) = Cells(4, 1)
End Sub
 
Hoi Cobbe,

Ziet er fantastisch uit! Ik kom 1 ding tegen die nog niet helemaal werkt. Dit komt temeer doordat ik waarschijnlijk de vraag niet volledig genoeg hebt geformuleerd. Wanneer je nu een 'z' plaatst, gaat het goed. Hij plaats de 'a' voor de 'z'. echter wanneer ik een 'r' plaats gaat het ook goed, behalve wanneer ik er meerder plaats, hij blijft dan de 'a' voor elke 'r' plaatsen. Het idee is dat ik meerde 'z' of 'r' tekens achter elkaar wil plaatsen, en voor de range moet dan de 'a' komen.

Is het enigszins duidelijk wat ik bedoel? in afwachting van je reactie...



gr. Jamez
 
Kleine aanpassing et vwalla!:p

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("[COLOR="red"][B]E[/B][/COLOR]4:Q4")) Is Nothing Or Selection.Cells.Count > 1 Then Exit Sub
If Target = "r" And Target.Offset(, -1) = "" Or Target = "z" And Target.Offset(, -1) = "" Then Target.Offset(, -1) = Cells(4, 1)
End Sub

De rode wijziging dient ervoor dat er geen (A4) vòòr de eerste cel van het bereik geplaatst wordt.
 
Laatst bewerkt:
Helemaal geweldig!

Je hebt me enorm geholpen, bedankt!

gr. Jamez

ik zal de vraag afsluiten
 
Beste Cobbe, e.a.,

Redelijk enthousiast geraakt door de geboden oplossing en mogelijkheden welke nu in mijn sheet zijn geïmplementeerd. Nu de sheet verder uitgebreid en loop ik tegen het volgende 'probleem' op: de vba-code is gebaseerd op 1 regel binnen dezelfde sheet. Ik heb de regels nu uitgebreid, is het ook mogelijk om het per regel te laten werken? met de vraag zoals hierboven gesteld? (de letter zoals in kolom A staat voor de 'r' of 'z' plaatst in diezelfde rij)
ik heb een bestandje bijgevoegd.

Alvast erg bedankt,
Bekijk bijlage Vraag helpmij-deel2.xlsx
Groeten Jamez
 
Dan pas je de code lichtjes aan en dan werkt dat ook:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E4:Q[COLOR="red"][B]8[/B][/COLOR]")) Is Nothing Or Selection.Cells.Count > 1 Then Exit Sub
If Target = "r" And Target.Offset(, -1) = "" Or Target = "z" And Target.Offset(, -1) = "" Then Target.Offset(, -1) = Cells([COLOR="red"][B]Target.Row[/B][/COLOR], 1)
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan