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

Niet meer dan 40 karakters in een cel

  • Onderwerp starter Onderwerp starter HWV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik heb een omschrijving die langer is dan 40 karakters. In ons systeem kunnen we twee keer 40 karakters kwijt in twee velden.
Nu wil ik de omschrijving afbreken op 40 karakters maar dan wel rekening houden dat hij afbreek op een heel woord.

Is dat mogelijk, ik had met lengte al bepaald dat ik weet hoeveel karakters er in een cel zitten maar weet niet hoe ik de splitsing moet maken, en afbreken op een heel woord en dan nog laten passen binnen de 40 karakters.

groet HWV
 
niet dat ik de oplossing heb, maar misschien laten zoeken op de laatste spatie (is de ruimte voor het laatste woord).
 
Code:
=DEEL(C3;1;40)

Met deze code heb ik nu ervoor gezorgd dat ik 40 karakters krijg, nu enkel nog op de laatste spatie zoeken voor de 40 ste karakter ?

Code:
=SPATIES.WISSEN(D1)

Er staan ook nog te veel spatie`s in dus eigenlijk bovenstaande code zou ook ingebouwd moeten worden.

Omdat dit vaker voor gaat komen bij ons, is het mogelijk om dit in VBA te doen

Groet HWV
 
al een stukje VBA

Code:
Sub splits()
  For Each cl In Columns(2).SpecialCells(xlCellTypeConstants)
    If InStr(cl.Value, "") > 0 Then
      cl.Offset(, 1) = Mid(cl.Value, InStr(cl.Value, "") + 41)
      cl.Value = Left(cl.Value, InStr(cl.Value, "") + 40)
    End If
  Next
End Sub

Met deze VBA code slpit ik de omschrijving op 40 karakters vanuit kolom B.
De uitkomst de 40 karakters zet hij hier neer en het overige in kolom C.

Nu wil ik van kolom B alle karakters vanaf rechts tot aan de eerste spatie voor de karakters uit kolom C hebben.

Ik kom er niet uit

groet HWV
 
Is het eigenlijk wel mogelijk

Beste,

Graag wil ik nog een keer aandacht vragen voor mijn topic.:confused:
Is er iemand die misschien een ander manier weet hoe ik dit voor elkaar kan krijgen

Groet HWV
 
Beste WHER,

Bedankt voor jou input op deze topic.:thumb:
En deze werkt inderdaad goed. Weet jij toevallig hoe ik dit ook kan verwerken in een VBA formule, ivm dat de mensen die ermee moeten werken niet veel verstand hebben van excel.

HWV
 
die msgbox zegt de verschillende stukken, maar jij zult vermoedelijk die
Code:
Sub ssss()
  Splitsen "012345670 01234567890 012340 0123456789012345670 01234567890"
End Sub

Sub Splitsen(tekst As String)
  Dim splits() As Variant, i As Integer, j As Integer, k As Integer, deel As String, s As String
  i = -1
  j = 1
  Do
    deel = Mid(tekst, j, 41)
    If Len(deel) = 41 Then
      k = InStrRev(deel, " ")
      deel = Mid(deel, 1, k)
    End If
    i = i + 1
    ReDim Preserve splits(0 To i)
    splits(i) = Trim(deel)
    j = j + Len(deel)
  Loop While j < Len(tekst)

  For i = 0 To UBound(splits)
    s = s & splits(i) & vbLf
  Next
  MsgBox tekst & vbLf & "in stukken is dat " & vbLf & s
  Range("A1").Resize(UBound(splits) + 1).Value = WorksheetFunction.Transpose(splits) 'onder elkaar
  Range("C1").Resize(, UBound(splits) + 1).Value = splits 'naast elkaar
  
  
End Sub
 
Beste Cow18 bedankt voor jou reactie.

Ik heb het geprobeerd en heb hier nog een vraag over.
Het zal worden toegepast in reeksen van ongeveer 1000 regels (per groep)
Hoe kan ik jou code dan gebruiken, deze gaat per stuk, of zie ik het verkeerd .

Groet HWV
 
Beste Cow18,

Geweldig, ik kan dit inderdaad toepassen.:thumb:
Bedankt voor je inzet

Groet HWV
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan