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

Samenvoegen tekst

Status
Niet open voor verdere reacties.

Gerard2348

Gebruiker
Lid geworden
24 okt 2013
Berichten
370
Hallo,

Ik heb deze code gevonden van Spaarie.
Hoe kan ik deze code veranderen zodat er waarde uit 3 kolommen wordt samengevoegd. Ikzelf zie het niet.

Code:
Sub Samenvoegen()
    '.sheets(1) de 1 kan je vervangen voor een tabblad naar bijv: .Sheets("Data")
    '.columns(1) de 1 hierin is de kolomnummer met je 1e waarde. In dit geval is kolom 1 > kolom A
    For Each c In Sheets(1).Columns(1).SpecialCells(2) '.Offset(1).SpecialCells(2) 'voor als je een kolomtitel gebruikt
        c.Offset(, 2).Value = c.Value & " " & c.Offset(, 1).Value
    Next
End Sub

Bvd
 
Welke van de twee.
Code:
c.Offset(, 3).Value = c.Value & " " & c.Offset(, 1).Value & " " & c.Offset(, 2).Value
Code:
 c.Offset(, 3) = Join(Application.Index(c.Resize(, 3).Value, 1, 0))
 
Waarom niet simpelweg de functie Concatinate gebruken?

Met offset bepaal je welke kolom je pakt... relatief gezien vanaf de cell C
dus bijvoorbeeld
Code:
c.Value & " " & c.Offset(, 1).Value & " " & c.Offset(, 2).Value & " " & c.Offset(, 3).Value
afhankelijk van wat je specifieke wensen zijn... Maar nogmaals mijn advies... Waarom niet gewoon Concatinate?
 
Met offset bepaal je welke kolom je pakt... relatief gezien vanaf de cell C


Mag het gezien in deze code kolom A zijn.
Code:
For Each c In Sheets(1).[COLOR="#FF0000"]Columns(1).[/COLOR]SpecialCells(2)
 
Offset is puur relatief vanaf C, ongeacht van wat dan ook. Dus inprincipe Ja... of dat dit de beste oplossing is? Onwaarschijnlijk, of zelfs ... Waarschijnlijk niet.
 
Harry,

Hartelijk bedankt. Kan ik verder gaan stoeien.

Namliam. Ik neem aan dat de Nederlandse functie tekst.samenvoegen is. Deze kan ik niet gebruiken omdat de samengevoegde kolom weer gebruikt wordt voor een indeling. De samengevoegde kolom kan verschillen. De ene keer 23 gegevens en de andere keer bv 43. Als ik de formule samenvoegen gebruik dan worden de cellen niet als leeg beschouwd. Vandaar de oplossing als bovenstaand.

MvG
 
Ja tekst.samenvoegen, ben zwaar geindoctrineert met de engels functies ....

Ik weet niet wat je exacte benodigdheden zijn, maar in mijn niet al te bescheiden geschiedenis van het maken van diverse oplossingen in excel... meestal is het terugvallen op een stuk VBA weinig of niet nodig... Goed mogelijk dat dit een van de weinigen keren is dat het zo moet.... maar ach als je er uiteindelijk maar uit komt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan