• 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 delen in maximaal 40 karakters en afbreken

Status
Niet open voor verdere reacties.

kom123wil

Gebruiker
Lid geworden
25 feb 2021
Berichten
26
Leuke uitdaging, ik heb (deels)vergelijkbare topics voorbij zien komen maar ik loop toch vast. Mijn doelstelling is om een tekst te delen naar de mogelijkheid van 3x 40 karakters waar bij afgebroken moet worden bij de laatste spatie voorafgaande aan het 41e karakter. Het gewenste resultaat heb ik in blauw aangegeven. Het 1e deel (groen) is me gelukt. Helaas lukt het vervolg maar niet. Ik heb nog een paar voorzetjes er bij gezet.
 

Bijlagen

  • Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsx
    9,6 KB · Weergaven: 44
hallo Kom, welkom hier.
wat doe je als een woord langer is dan 40 letters?
is vba een optie?
welke excel versie gebruik je?
 
Hallo, laten we er even vanuit gaan dat ik geen woorden heb van 40 letters. Als dit het geval mocht zijn dan dit een handmatige actie welke er bij controles uit zullen komen. Mogelijk is vba een optie. Ik maak gebruik windows 10 met excel 2010 en office 365 (2 gescheiden netwerken met een koppeling).
 
zo ?
 

Bijlagen

  • Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsm
    15,4 KB · Weergaven: 36

Hoi Cow,
Als je het resultaat in A13 bedoelt is dit helaas niet wat ik bedoel. Wat de bedoeling is dat de bron A1 opgedeeld wordt middels een formule met als resultaat B1, C1 en D1 met het maximaal aantal karakters van 40 per cel afgebroken met de laatst voorgaande spatie. Dus de waarde in verschillende cellen. Dit toepasbaar over een reeks met variabele teksten. Universeel toepasbaar.
 
zo dan voor de ganse A-kolom met vba, met formules wordt dat nogal omslachtig.
 

Bijlagen

  • Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsm
    16,4 KB · Weergaven: 26
Niet supersimpel, maar een optie met formules in bijlage. Check wel eventjes of het de gewenste resultaten geeft...
 

Bijlagen

  • Tekst delen in max 40 kartakters bij laatste voorgaande spatie (AC).xlsx
    9,4 KB · Weergaven: 35
Laatst bewerkt:
Hier ook nog een optie met formules. (matrix formules, afsluiten met control shift enter)
B1 bevat een simpelere formule. C1 kun je doortrekken naar rechts
 

Bijlagen

  • Kopie van Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsx
    10 KB · Weergaven: 25
Laatst bewerkt:
of met een udfje
 

Bijlagen

  • Tekst delen in max 40 kartakters bij laatste voorgaande spatie met vba.xlsm
    18,3 KB · Weergaven: 17
Laatst bewerkt:
eigenlijk had TS vooraf moeten meegeven of dit voor een éénmalig gebruik van een lange reeks teksten is of voor dagelijks gebruik van 1 of enkele cellen.
Dat zou je keuze eigenlijk moeten beïnvloeden.
Ik had er over gelezen, maar zie nu bij het herlezen dat je gelukkig maar sprak over 3*40, dus een eventuele 4e deelstring mag in de prullenmand en ik maakte nog een foutje op de 40 vs 41.
 
Niet supersimpel, maar een optie met formules in bijlage. Check wel eventjes of het de gewenste resultaten geeft...

Hoi AlexCel,

We zijn er bijna maar helaas wordt niet het gewenste resultaat weer gegeven middels uniforme formule als de bron korter is. Bijv met 60 karakters. Bij 60 karakters dienen uitsluitend de 1e en 2e cel gevuld te zijn en de 3e leeg.
 
Hier ook nog een optie met formules. (matrix formules, afsluiten met control shift enter)
B1 bevat een simpelere formule. C1 kun je doortrekken naar rechts

Hoi JVeer,

Weer een stukje verder maar helaas nog net niet. Ik was al bang dat het niet eenvoudig zou zijn. Als ik de formule doorsleep dan bieden de volgende regels niet het gewenste resultaat.
Ik heb er een paar regels bijgevoegd. In kolom B lijkt het goed te gaan. Kolom C en D helaas niet. Zie kopie bijlage.
 

Bijlagen

  • Kopie van Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsx
    11,4 KB · Weergaven: 20
alle $a$1 en $b$1 die laatste "$" van "$1" er uit, rij mag niet absoluut zijn, maar relatief
 
Ik ben zo benieuwd waar dit goed voor is.
Dit soort string-beperkingen doet mij denken aan de jaren 80 van de 20e eeuw.

Code:
Function F_snb(c00)
  For j = 1 To Len(c00)
    If j Mod 40 = 0 Then c00 = Left(c00, y) & "|" & Mid(c00, y + 1)
    If Mid(c00, j, 1) = " " Then y = j
  Next
    
  F_snb = Split(c00, "|")
End Function
 

Bijlagen

  • __kappen nou.xlsb
    14,7 KB · Weergaven: 19
Laatst bewerkt:
Gaat het met een kleine modificatie in kolom C wel goed?
 

Bijlagen

  • Tekst delen in max 40 karakters bij laatste voorgaande spatie (AC-2).xlsx
    9,7 KB · Weergaven: 15
Gaat het met een kleine modificatie in kolom C wel goed?

Hoi AlexCEL,

Hij is bijna 100%. Ik heb wat testen gedaan en controles uitgevoerd.
Bij het derde resultaat mogen alle waarden meer dan 40 weggelaten worden met dien verstande afgebroken voor de spatie van het 40e karakter.
Indien het resultaat kleiner is dan het maximale van 40 wordt het laatste woord weggelaten.
 

Bijlagen

  • Kopie van Tekst delen in max 40 kartakters bij laatste voorgaande spatie.xlsx
    13,4 KB · Weergaven: 14
Ik ben zo benieuwd waar dit goed voor is.
Dit soort string-beperkingen doet mij denken aan de jaren 80 van de 20e eeuw.

Code:
Function F_snb(c00)
  For j = 1 To Len(c00)
    If j Mod 40 = 0 Then c00 = Left(c00, y) & "|" & Mid(c00, y + 1)
    If Mid(c00, j, 1) = " " Then y = j
  Next
    
  F_snb = Split(c00, "|")
End Function

Hoi SNB,

Daar wil ik wel even op reageren. Ik ERP/applicatiebeheerder van 2 systemen. Voor data onderhoud is het ene systeem de bron van de ander. Middels teksten samen te voegen en vervolgens naar wens te verdelen naar de mogelijkheid kan ik beide systemen eenvoudig onderhouden. Daarnaast zijn er ook nog externe bronnen die gegevens aanleveren in 1 cel.
Bij veel bestanden betreffen en soms wel meer dan 10.000 regels. Als dit eenvoudiger kan dan met allerlei truukjes is dat mooi meegenomen.
 
Laatst bewerkt:
Ik ben overgestapt op een mogelijke Excel 365 oplossing. Worden de formules behoorlijk simpeler van.
 

Bijlagen

  • Tekst delen in max 40 karakters bij laatste voorgaande spatie (AC-3).xlsx
    13,8 KB · Weergaven: 18
Bij veel bestanden betreffen en soms wel meer dan 10.000 regels.
Dat wordt leuk met formules en is in een wip klaar in VBA.
Straks moet je alsnog een klein stukje code maken om je formule te kopiëren over die 10.000 rijen.
 
Ik ben overgestapt op een mogelijke Excel 365 oplossing. Worden de formules behoorlijk simpeler van.

Hoi AlexCEL,
Ziet er perfect uit. Precies wat ik bedoelde. Nu ben ik er een beetje mee aan het stoeien. Bij het overnemen van de formules in een ander bestand met de nodige aanpassingen (bronnen en ranges) blijkt er toch een probleem te zijn als de tekst meer dan 40 karakters bevat. Als ik de brontekst aanpas in jouw aangeleverde bestandje dan is alles om zeep. Weet jij waar dit aan kan liggen. Ik vrees dat het in dit deel van de formules zit ZOEKEN(41;_xlfn._xlws.FILTER(RIJ($A$1:$A$80). Ik heb wat onderzoek gedaan en blijkbaar beschik ik niet over de functie FILTER. Wel XML.FILTEREN.
Wat gebeurt er bij jou als je een brontekst (kolom a) handmatig overtypt?
Overigens zou door kopieren dan wel slepen problemen op kunnen leveren maar vooralsnog niet.
 

Bijlagen

  • Tekst delen in max 40 karakters bij laatste voorgaande spatie (AC-3) (5).xlsx
    13,8 KB · Weergaven: 20
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan