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

3 cellen samenvoegen d.m.v waarde in vorige cel.

Status
Niet open voor verdere reacties.

danny147

Terugkerende gebruiker
Lid geworden
29 apr 2007
Berichten
4.744
Beste ;)

Graag wil ik automatisch 3 cellen samenvoegen als de vorige cel een waarde of cijfer heeft.

Vb. : In eender welke cel in kolom D staat er een waarde, als dit zo is dan moet de 3 cellen in kolom E,F en G samengevoegd worden op dezelfde rij als waar de waarde in staat.


Groetjes Danny. :thumb:
 
Hallo Danny,

Vermijd zoveel mogelijk samengevoegde cellen.

Gr Justes
 
je kan in de kolom H de volgende formule zetten:

Code:
=if(D1=W;E1&F1&G1;"")
waarbij W de waarde is.

steven
 
Beste arafy en Justes ;)

Justes
Vermijd zoveel mogelijk samengevoegde cellen.

Van die samengevoegde cellen vermijden , dat weet ik maar soms kan het niet anders.

arafy
Code:
=if(D1=W;E1&F1&G1;"")

Het zal waarschijnlijk met een VBA code moeten gedaan worden voor deze mogelijkheid.
Aan deze formule heb ik niet veel aan, het is niet de bedoeling dat de tekst in de 3 cellen worden samengevoegd.
Het kan ook zijn dat er niets in die 3 cellen staat.

Alvast bedankt voor jullie snelle reacties.

Groetjes Danny :thumb:
 
Is het nu het samenvoegen van cellen tot 1 grote cel, of het achter elkaar plakken van tekst?
 
Beste Wim ;)

Ik heb me misschien verkeerd uitgedrukt met mijn voorbeeldje, maar het is inderdaad het samenvoegen van 3 cellen tot 1 grote cel, als de voorgaande cel een waarde heeft.

Groetjes Danny. :thumb:
 
Je kent mijn standpunt daarover, het samenvoegen van cellen is not done ;)

Indien het toch moet (zijn er echt geen andere oplossingen?), wanneer moet dat dan plaats vinden? Via een knop, of als je het getal invult, ...
 
Beste Wim ;)

Bedankt voor uw reactie

Het samenvoegen van de 3 cellen moet plaats vinden van zodra men ergens in kolom D een waarde intypt.

Groetjes Danny. :thumb:
 
Dag Danny,

Hierbij 2 mogelijkheden.
De 2e mogelijkheid keur ik trouwens af. Waarschuwingen genoeg gehoord.
 

Bijlagen

Hoi Luc

Goed gedaan!

Een klein puntje ;)

Als je een variabele gebruikt om doorheen de cellen te stappen (rng dus), dan kan je die verder gebruiken. Hoef je niet .Select en .Activate te gebruiken.

Voor 20 cellen zoals hier maakt dat niet veel uit (alhoewel je op een iets tragere PC de cellen zal zien verspringen), maar bij veel rijen wordt het echt zichtbaar. Dan kan je dit doen:

Code:
Sub SamenvoegenData()
    Dim rng    As Range

    For Each rng In Range("D2:D20")
            If rng <> "" Then
                rng.Offset(0, 1) = rng.Offset(0, 1) & " " & rng.Offset(0, 2) & " " & rng.Offset(0, 3)
                rng.Offset(0, 2).Resize(, 2).Clear
            End If
    Next rng
    
    Columns(5).AutoFit

End Sub
 
Bedankt Wim,

Nu helemaal zoals het hoort.
Het bovenste knopje is nu verbonden met de juiste macro.
 

Bijlagen

Beste Wim en Luc. ;)

Bedankt zover al voor de reacties, maar is het niet mogelijk de cellen samen te voegen zonder een knop.

Dus wanneer ik in kolom D een waarde geef dat er onmiddellijk de cellen in kolom E,F en G direct tot 1 grote cel worden samengevoegd.

Groetjes Danny. :thumb:
 
Dag Danny,

Zonder Knop is ook mogelijk.
Je moet toch zelf iets invoeren in kolom D.
Dat kan ik helaas niet voor je doen.
 

Bijlagen

Beste Luc :)

Bedankt voor de VBA code die ik zocht, ze werkt perfect.
Ook een dank woordje aan Wim voor de kleine bijdrage.

groetjes danny. :thumb:
 
Dag Danny,

Fijn dat je tevreden bent. Ik hoop voor je dat de
samengevoegde cellen geen problemen gaan geven.

En de bijdrage van Wim is groter dan je denkt,hoor.
 
Beste Luc en Wim

Heb iets over het hoofd gezien n.l. : Als ik de waarde terug verwijderd in een cel in kolom D, dan moet hij weer de samengevoegde cellen E,F en G splitsen in 3 cellen.

Groetjes danny.
 
Danny

In de macro van het samenvoegen, staat er ergens

Code:
If rng <> "" Then
   'code
End If

De code wordt dus uitgevoerd indien de cel niet leeg is.

In de ELSE tak van de IF kan je code maken voor het geval wanneer de cel leeg is.

Maar nu ik het eens in detail bekijk. De code is eigenlijk toch niet zo heel goed. Bij elke wijziging in kolom D wordt telkens heel het bereik D2:D20 gedaan. Je zou beter enkel de cel doen die gewijzigd werd (Target), de rest is toch niet veranderd.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan