Ga naar inhoud

Kolommen onder elkaar samenvoegen


Aanbevolen berichten

Geplaatst:

Het zou simpel moeten zijn, maar het lukt me niet....

Ik exporteer vanuit mijn website een klanten db.

De klanten bestaan uit groepen. Groepen bestaan uit minimaal twee en maximaal 15 deelnemers.

De geexporteerde bestanden bevatten de naam en het emailadres van de deelnemer binnen de groep.

Ik wil graag alle emailadressen onder elkaar in 1 kolom zien. Bijvoorbeeld de 15 kolommen met emailadressen selecteren en deze vervolgens samenvoegen in 1 kolom. Maardat mag niet van Excel.....
Een ander idee zou zijn om te filteren op  "@" , daar dit natuurlijk in de mailadressen voorkomt. Maar dan kan ik uitsluitend naar "volgende" klikken.

Zou handig zijn wanneer bij een filteropdracht alle  cellen mer "@" zouden worden geselecteerd, en dat ik die dan zou kunnen samenvoegen.
Grrrr. erg irritant dat het niet lukt....

In de bijlage een voorbeeld van het bestand dat ik gebruik. Vanwege het feit dat er persoonsgegevens in het origineel staan, even deze vereenvoudigde versie.
Het origineel bevat zo'n 200 groepen, elk met verschillend aantal deelnemers. Tot 15 deelnemers per groep.

In het voorbeeld zijn maar 5 deelnemers aangemaakt, maar in werkelijkheid kunnen dat er dus max 15 zijn.

 

Hulp wordt erg gewaardeerd.

 

met vriendelijke groet,

 

Patrick

 

Map2.xlsx

Geplaatst:

Weet niet hoeveel ervaring je hebt met VBA maar deze doet wat je vraagt.

Sub tst()
With Sheets("Blad1")
    sn = .Cells(1, 2).CurrentRegion.Value
End With
With CreateObject("scripting.dictionary")
    For i = 2 To UBound(sn, 2) Step 2
        For ii = 2 To UBound(sn)
            If sn(ii, i) <> vbNullString Then
                .Add sn(ii, i + 1), sn(ii, i)
                x = x + 1
            End If
        Next
    Next
    Sheets("Blad1").Cells(20, 1).Resize(x, 2) = Application.Transpose(Array(.items, .keys))
End With
End Sub

Heb je vragen laat maar iets weten.

Geplaatst:

Dank voor je moeite Bakerman,

 

helaas heb ikgeen enkele ervaring met VBA....

 

Ik begrijp dat ik het script moet laten uitvoeren, maar ik heb geen idee hoe of wat, helaas.

 

 

 

 

 

Geplaatst: (aangepast)

Mooie oplossing Bakerman!

3 uren geleden, pd123 zei:

Het zou simpel moeten zijn....

Helaas heb ikgeen enkele ervaring met VBA....

Het verbaast mij vaak dat mensen die weinig of geen ervaring hebben met Excel vaak denken dat een oplossing eenvoudig is. Dit is overigens louter een randopmerking.

aangepast door alpha
Geplaatst:

@pd123,

Bij mij werkt de macro van Bakerman prima.

Ik vermoed dat de foutmelding bij jou aan de knop "Consolidatie" ligt.

Voer de macro eens uit vanuit de vba-editor (cursor ergens willekeurig in de macro plaatsen en daarna bovenaan in het vba-menu op het pijltje-naar-rechts klikken), dan weet je zeker of het daaraan ligt.

Gebruik anders in plaats van de Active-x-knop eens een knop uit de "Formulierbesturingselementen" (die staat in het menu boven de Active-x-besturingselementen).

 

Geplaatst:

@alpha

Het is een knop uit de collectie Formulierbesturingselementen die gebruikt is.

 

@pd123

Draai jij toevallig De Mac-versie van Office ?

Indien Ja dan zal Dictionary niet werken en moeten we overschakelen naar een Collection.

Indien Neen dan moet je in de Opties voor Excel in het VertrouwensCentrum je instellingen nakijken dat je toegang verleent aan het Objectmodel.

Geplaatst:
48 minuten geleden, bakerman zei:

Het is een knop uit de collectie Formulierbesturingselementen die gebruikt is.

Ja, ik zie het, nu ik je bestand heb gedownload.

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.