• 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 die cellen en ranges samenvoegt

  • Onderwerp starter Onderwerp starter hmwul
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

hmwul

Gebruiker
Lid geworden
15 dec 2012
Berichten
460
Zeer regelmatig voeg ik tekst gegevens uit de diverse cellen samen. Meestal d.m.v. bijvoorbeeld: A1&" "&B1&" "&C1 (enz.)
Dan copy-paste als waarden.

Er is ook nog de functie textjoin (b.v. =TEXTJOIN(" ";TRUE;B2;C3:C5;D6)

Ik zoek een macro dat:

1. geselecteerde cellen op de achtergrond samenvoegt
2. en mij dan vraagt waar die samenvoeging moet komen

Kortom: ik selecteer B2;C3:C5;D6
klik op de macro (b.v.) 'Samenvoegen in...' - ik wijs een cel aan en daar worden de gegevens als waarde geplakt en eventuele data in die cel overschreven.

Suggesties?

Ik weet niet of er al bepaalde add-ins zijn die dit kunnen...

Bij voorbaat dank!
 

Bijlagen

Laatst bewerkt:
Zet dit achter een knop:
Code:
Private Sub CommandButton1_Click()
    For Each cl In Selection
        txt = txt & cl.Value
    Next cl
    Set Doel = Application.InputBox("", "Samenvoegen in", , , , , , 8)
    Doel.Value = txt
End Sub

Selecteer je cellen en druk op de knop.
 
Laatst bewerkt:
in Module 1
Code:
Public Sub Join()
    For Each oRange In Selection
        vValue = vValue & oRange.Value
    Next
    ActiveCell.Value = vValue
End Sub
  1. Selecteer de cellen
  2. Selecteer de cel waar de samengevoegde tekst moet komen het laatst
  3. Toets ALT+F8
  4. Kies "Join"
  5. Klik "Uitvoeren"
 
Laatst bewerkt:
Zet dit achter een knop:
Code:
Private Sub CommandButton1_Click()
    For Each cl In Selection
        txt = txt & cl.Value
    Next cl
    Set Doel = Application.InputBox("", "Samenvoegen in", , , , , , 8)
    Doel.Value = txt
End Sub

Selecteer je cellen en druk op de knop.

Hartelijk dank voor de snelle reactie.
Ik heb de macro toegevoegd aan mijn personal.xlsb
(Moest 'Private' weghalen om 'm zichtbaar te maken)

Vraagje, hoe krijg ik een punt, of punt spatie, of op z'n minst een spatie tussen de samengevoegde cellen?
zoiets als wat je krijgt bij: =TEXTJOIN(". ";TRUE;B2;C3:C5;D6)

Ik krijg als resultaat: Inhoud van cel B2Bla-blah C3Bla-blah C4Bla-blah C5Bla-blah C6blah blah e4

Nogmaals dank.
 
Dat lijkt me toch eenvoudig als je de code bekijkt:
Code:
txt & cl.Value & ". "
 
in Module 1
Code:
Public Sub Join()
    For Each oRange In Selection
        vValue = vValue & oRange.Value
    Next
    ActiveCell.Value = vValue
End Sub
  1. Selecteer de cellen
  2. Selecteer de cel waar de samengevoegde tekst moet komen het laatst
  3. Toets ALT+F8
  4. Kies "Join"
  5. Klik "Uitvoeren"

Ook hartelijk dank. De cellen worden in deze macro prima samengevoegd.
Twee dingetjes: net zoals bij de macro van edmoor zou graag een separator willen hebben.
In mijn 1e bericht met textjoin is dat een spatie, maar ik zou daar ook . spatie van kunnen maken.

Een twee, stel dat het resultaat in B2 wil hebben:
Inhoud van cel B2. Bla-blah C3. Bla-blah C4. Bla-blah C5. Bla-blah C6. blah blah e4
 
1. Zie #5.
2. Dat werkt al zo.
 
Dat lijkt me toch eenvoudig als je de code bekijkt:
Code:
txt & cl.Value & ". "

Aha.. okay, ik heb het aangepast en werkt prima.
Bedenk, ik heb geen spetter verstand van VBA en macro's ...
Dus, nee, 'eenvoudig' is dit niet voor mij:)
Ik copy-paste die abacadabra en hoop dat het werkt.

Nogmaals dank!

Werkt super :thumb:
 
Bedenk, ik heb geen spetter verstand van VBA en macro's ...
Dus, nee, 'eenvoudig' is dit niet voor mij:)
Dan valt er bij Helpmij veel voor je te leren :)
 
Inderdaad...

Want ik vraag mij af of de macro aan te passen is met:

1. een vraag wat voor 'separator' gebruikt worden. Denk aan : punt-spatie, komma-spatie, of gewoon alleen maar een spatie

2. of de formule in de 'doel' cel kan worden weergegeven (nu alleen waarden).
Reden: wanneer het om groter bestand hebt, met overal op dezelfde plaatsen de gegevens,
dan kan de formule omlaag gekopieerd worden (daarna, handmatig, 'copy paste as values')

Thanks!
 
Met alle respect hoor... niet kwaad bedoeld ...

Ik ben huiverig om een xlsm bestand te openen.

Dat geprobeerd op mijn laptop, maar daar gebeurde niets.
(de knop samenvoegen geklikt)

Zal de functie textjoin gebruiken.

Hartelijk dank voor alle genomen moeite.
 
Een bestand met macro's is altijd een .xlsm
Selecteer eerst je cellen en druk dan op de knop, net zoals eerder.
 
Ik ben huiverig om een xlsm bestand te openen.
Heb ik ook altijd met die macro's van @edmoor;)

Het volledig quoten van berichten is nergens voor nodig. Een vraag stellen over macro's en deze van betrouwbare helpers niet durven gebruiken is net zo zinloos.
Bedenk, ik heb geen spetter verstand van VBA en macro's ...
Daar moet je dan wat aan doen.
 
Geintje moet kunnen toch? Een vraag over een macro en dan bang zijn om een bestandje te openen. Schiet mij maar lek. (Niet letterlijk):)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan