• 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 van excel waarden

Status
Niet open voor verdere reacties.
Oké

Ik vraag me af wat eigenlijk de achterliggende gedachte is om alles in een rij te proppen.
Is toch helemaal niet meer leesbaar?
 
Gaat ook veel handiger in een plat csv-bestand.
Dat is waarschijnlijk ook de achterliggende gedachte: resultaat in een CVS-bestand.
 
Hi Peter,

Ik ben het met je eens dat dit niet leesbaar wordt in Excel. Maar dit moet toch op die manier omdat deze gegevens ingeladen moet worden in een andere applicatie.
 
Oké

Klopt het wat Snb in #22 schrijft?
Zelf denk ik dit nu ook en ben het dus met Snb eens.
 
Resultaat kan best in een csv bestand maar moet uiteindelijk in een .xls bestand terecht komen omdat dit bestand wordt ingeladen in een andere applicatie.
Dan heb ik een andere vraag. Ik heb een aantal cellen die 90.000 karakters zullen krijgen. Werkt dat dan wel goed in een csv bestand? Overigens zijn deze gevallen niet het grootste probleem want dan knip ik het inladen wel op.
 
Bedoel je echt een .xls bestand? Nou, ik geef het je te doen.
Welke applicatie dient dit dan te zijn?
 
Daarvoor is Excel toch helemaal niet ontworpen: 90.000 tekens in een cel.
Ik denk dat je iets fundamenteel verkeerd hebt begrepen.
 
Hallo,

Ik heb er het volgende nog van kunnen maken.
Was een leuke uitdaging.
 

Bijlagen

Office 365.
Code:
=TEKST.COMBINEREN(";";;FILTER(Blad1!C2:C2442;Blad1!B2:B2442=C1))

NB. de functie kan maximaal 252 tekst argumenten aan en 32767 tekens.

Hoi Harry,

De hulpvraag is inmiddels door mij afgesloten omdat jouw formule heeft gewerkt. Dank daarvoor!

Maar zoals voorspelt zijn er een aantal regels in het originele bestand niet samengevoegd omdat de karakteraantallen tegen de limieten van Excel komt. Ik heb gedacht dat ik dan de formule variabel op moet splitsen (bijvoorbeeld met 10 regels) zodat de waarden dan wel tevoorschijn komen.

Ik heb geprobeerd om de formule verschuiving te gebruiken maar ik stuit tegen een error aan.
=verschuiving(TEKST.COMBINEREN(";";;FILTER(Blad1!C2:C2442;Blad1!B2:B2442=C1);10;0).
Wat doe ik hier verkeerd?
 
Maar waarom niet met een simpele macro? Zie bijlage.
En wat moet er gebeuren als het aantal karakters boven de 32767 uitkomt? Kan eventueel eenvoudig in meerdere strings opgedeeld worden.
 

Bijlagen

Hoi,

Ik kan de macro niet openen:o. Is het mogelijk dat je het hier als platte tekst kunt zetten?
 
Bijgaande macro starten vanuit het werkblad met je data, het resultaat komt in werkblad Output dat je eerst even moet aanmaken.
Code:
Sub Verwerk()
    Dim r As Long
    Dim a As String
    Dim r3 As Long
    r3 = 1
    r = 3
    a = Cells(2, 3) & ";"
    e = Cells(2, 2)
    Do While e <> vbNullString
        Do While Cells(r, 2) = e
            a = a & Cells(r, 3) & ";"
            r = r + 1
        Loop
        Sheets("Output").Cells(r3, 1) = e
        Sheets("Output").Cells(r3, 2) = a
        If Len(a) > 32767 Then
            MsgBox "Resultaat voor " & e & " was langer dan 32767 karakters en is nu afgekapt."
        End If
        r3 = r3 + 1
        e = Cells(r, 2)
        a = ""
    Loop
    MsgBox "Zie werkblad Output"
    Application.Goto Sheets("Output").Range("A1")
End Sub
 
Hoi,

Het werkt! Dankjewel.
Het enige waar ik naar op zoek ben, is dat wanneer er sprake is van een afkapping, dat deze wel doorloopt naar de volgende regel. Is dat mogelijk?

Het mooiste zou zijn wanneer de dubbelingen van kolom C eruit gehaald worden. Als dat niet lukt, is dat niet erg want dan haal ik het er handmatig uit.
 

Bijlagen

Laatst bewerkt:
Dubbelingen worden eerst verwijderd, output wordt gesplitst indien > 32767:
Code:
Sub Verwerk()
    Dim r As Long
    Dim a As String
    Dim r3 As Long
    ActiveSheet.Range("A:C").RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
    r3 = 1
    r = 3
    a = Cells(2, 3) & ";"
    e = Cells(2, 2)
    Do While e <> vbNullString
        Do While Cells(r, 2) = e
            If Len(a & Cells(r, 3)) < 32766 Then
                a = a & Cells(r, 3) & ";"
                r = r + 1
            Else
                Sheets("Output").Cells(r3, 1) = e
                Sheets("Output").Cells(r3, 2) = a
                MsgBox "Resultaat voor " & e & " was langer dan 32767 karakters, is nu gesplitst."
                a = ""
                r3 = r3 + 1
            End If
        Loop
        Sheets("Output").Cells(r3, 1) = e
        Sheets("Output").Cells(r3, 2) = a
        r3 = r3 + 1
        e = Cells(r, 2)
        a = ""
    Loop
    MsgBox "Zie werkblad Output"
    Application.Goto Sheets("Output").Range("A1")
End Sub
 
Bijgaande macro starten vanuit het werkblad met je data, het resultaat komt in werkblad Output dat je eerst even moet aanmaken.
Code:
Sub Verwerk()
    Dim r As Long
    Dim a As String
    Dim r3 As Long
    r3 = 1
    r = 3
    a = Cells(2, 3) & ";"
    e = Cells(2, 2)
    Do While e <> vbNullString
        Do While Cells(r, 2) = e
            a = a & Cells(r, 3) & ";"
            r = r + 1
        Loop
        Sheets("Output").Cells(r3, 1) = e
        Sheets("Output").Cells(r3, 2) = a
        If Len(a) > 32767 Then
            MsgBox "Resultaat voor " & e & " was langer dan 32767 karakters en is nu afgekapt."
        End If
        r3 = r3 + 1
        e = Cells(r, 2)
        a = ""
    Loop
    MsgBox "Zie werkblad Output"
    Application.Goto Sheets("Output").Range("A1")
End Sub

Hoi, deze macro ben ik aan het testen en wat ik nu zie is dat het al wordt afgekapt bij iets meer dan 2160 tekens en niet bij 32767. Ik weet niet wat ik hier moet aanpassen want ik heb geen verstand van macro's:o
 
Is je werkblad wel gesorteerd op kolom B?
Plaats hier anders eens je nieuwe data.
 
Laatst bewerkt:
Hallo,

Mijn bestandje van #28 aangepast zoals dubbelingen verwijderd e.d.
Geen macro's, geen beperkingen of wat diens zei. Power query dus.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan