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

tekst uit cellen samenvoegen

Status
Niet open voor verdere reacties.

Withaar

Verenigingslid
Lid geworden
8 apr 2001
Berichten
3.551
Ik heb een copy gemaakt van data uit een andere applicatie.

Ik heb 2 velden (kolommen) één met een nummer en een met (veel) tekst.

Als ik deze dat in Excel plak heb ik het probleem dat alle 'enter'-tekens ook mee gekopieerd worden.
Wat ik de bron applicatie allemaal mooi in een cel stond komt in Excel in diverse rijen en kolommen.
Doel is alle tekst die bij één call nummer hoort weer samen te voegen en in één excel cel te tonen.
Voorbeeld van wat ik heb en hoe ik het zou willen hebben staan in de bijlage.
Hernoem de bijlage even naar tekstsamenvoegen.xls (dus zonder de .txt , ik heb op deze locatie geen mogelijkheid om zip bestanden te maken).
 

Bijlagen

Het probleem is dat de tekst in 3 verschillende cellen komt.
je kunt niet niet de cellen samenvoegen (merge ), want dan krijg je wel 1 cel , maar neemt ie alleen de tekst in de linkerboven cel over.

De data staat bij jou in meerdere cellen. Wat je eventueel zou kunnen doen is de tekst uit meerdere cellen in 1 cel zetten met een formule met het "&"-teken.
Die formule zou er bij jou zo kunnen uitzien :
=B2&B4&B6
Op deze manier zou ie de inhoud in 1 cel moeten zetten.

Op deze manier zou ie de inhoud van de cellen achter elkaar moeten zetten.

Ik ben geen excel-expert maar volgens mij moet je in die richting zoeken. Er is vast wel iemand op dit forum die een beetje formule kan aanmaken :)
 
Hallo,

Uit welk programma copieer je de gegevens, en zou je de orginele tekst kunnen toevoegen in een bestandje.
 
Bedankt voor jullie reactie.

Uiteraard heb ik zelf ook gekeken naar een ..&.. oplossing.
Echter het aantal regels dat samengevooegd moet worden verschilt per call.nr. Voor elke call zou ik dus m'n formule moeten aanpassen.
Geen probleem als het maar om een paar call's zou gaan, dit kan echter in de honderden lopen...

Ik zit zelf meer aan een macro te denken die 'kijkt' of er en de eerste kolom een nieuw call.nr staat, zo niet dan moet de inhoud van de kolom toegevoegd worden aan de cel naast die van een call.nr.

Het betreft een copy vanuit BO (business objects) over een Oralce database.
In de database is het geen probleem dat er (harde) returns in het veld staan, ook BO heeft hier geen probleem mee. Probleem onstaat pas als in de rapportage opsla in Excel formaat of als .txt exporteer en daarna open in Excel.
Vaak wordt de inhoud van één data veld niet alleen over meerder rijen verdeeld, maar ook nog over meerder kolommen, dat probleem kan ik echter zelf wel vrij makelijk oplossen met een ...&.. formule.

En omdat waarschijnlijk niet iedereen het .txt evengoed heeft kunnen downloaden, hier het bestand nogmaals maar nu gezipt.

NuMan, zoals je kunt zien in de bijlage wil ik dus niet alle tekst in één cel, alleen die, die bij een bepaald call.nr hoort.
 

Bijlagen

Ben zelf wat aan de slag gegaan in Excel met VBA.

Ik ga er nog wat verder mee aan de slag maar kom er zo verder wel uit. Ik laat de vraag nog even open voor als er nog reacties zijn.

Voor wie interesse geeft de 'oplossing' staat in de bijlage.

Ik heb e.a. opgelost in 5 stappen.
Stap 1 voegt een extra kolom toe en nummerd deze door.
Stap 2 zet voor elke lege regel het call nummer totdat er een nieuw call nummer staat.
Stap 3 voegt de tekst van één call nummer samen met een ..&.. formule waarbij de 'hele' tekst in de laatste rij van een bepaald call.nr staat. De formules worden omgezet naar tekst met selecteren, kopieëren en plakken steciaal (waarden).
Stap 4 de lengte van elke regel wordt berekend met =lengte(), daarna worden ook deze formules omgezet naar waarden.
Stap 5 Hier gebeurd misschien iets te veel in een keer, maar zo gaat het;
Sorteer kolom met gevonden lengtes (Z-A) dus grootste boven aan. Voeg een extra kolom toe, controleer met een formule of het call nummer van rij twee gelijk is aan rij één, zo niet dan laat dit veld leeg, anders zet er het woord Dub in, doe dit voor elke rij.
Plaats een autofilter en kies Dub, verwijderd al deze rijen. Verwijder het autofilter.
Alleen de (in dit geval 3) unieke rij-en (met de langste karakter lengte) blijven staan.

In de Alles in 1 keer macro staan deze 5 gewoon achter elkaar aan.

Overigens, alle 5 zijn gewoon met de macro recorder opgenomen.

En voor wie denkt.. hé de lay out klopt toch niet.
Met deze macro los ik dat dan nog op;
Sub Layout()
'
' Layout Macro
' De macro is opgenomen op 21-2-2005 door --.
'

'
Columns("B:B").ColumnWidth = 80.38
Columns("B:B").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = True
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("B1").Select
End Sub
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan