Hoi Imod,
Heb je de macro gemaakt in Extra -> Macro -> Macro's
Vervolgens afbr intypen en de knop maken.
De programmacode vervolgens uit dit voorbeeld kopieren.
Dat zou goed moeten gaan.
Sub Afbr()
j1 = 9: jmax = 9999
For i = j1 To jmax
Zin = Cells(i, 14)
Zin2 = Zin
J2=0
Do While Zin2 <> ""
If Len(Zin2) > 70 Then
Zin1 = Mid(Zin2, 1, 70)
Zin2 = Mid(Zin2, 71, Len(Zin))
For k = 70 To 1 Step -1
Kar = Mid(Zin1, k, 1)
If Kar <> " " Then Zin2 = Kar & Zin2 Else l = k: k = 0
Next k
Zin1 = Mid(Zin1, 1, l - 1)
Else
Zin1 = Zin2: Zin2 = ""
End If
Cells(i, 15+j2) = Zin1: j2 = j2+ 1
Loop
Next i
End Sub
Wat doet de macro?
Allereerst leest ie een zin in en bepaald of de lengte van de zin meer is dan 70 karakters. Als dat zo is, dan wordt de zin in tweeen gehakt (functie mid vergelijkbaar bet deel() in Excel), het eerste gedeelte (zin1) bestaat uit 70 karakters, het tweede deel is de rest (zin2). Maar dan zijn we er nog niet. In het eerste deel gaan we van achter naar voren (For k=70 to 1 step-1) doorzoek totdat we een spatie tegen komen. Als het ingelezen karakter geen spatie is voegen we hem toe aan Zin2 (If Kar <> " " Then Zin2 = Kar & Zin2).
Zin1 zetten we in het spreadsheet (Cells(i, 15+j2) = Zin1 en Zin1 wordt Zin2 en we gaan Zin1 (was Zin2) weer opnieuw ontleden.
Hoe leer je snel VBA. Een boek of cursus zal ik nooit aanraden. Snel VBA leren is het zelfde als snel frans of duits spreken. Dat kan alleen maar door het te doen
Vooral wat gekke dingen na proberen te bouwen die op dit en andere fora voorbij komen. Begin heel simpel.
For i=1 to 20
Cells(10+i,5)=Cells(10+i,1)
Next i
Dit macrootje kopieert het bereik A11:A30 naar E11:E30
Maak een formule in Excel, maar voordat je dat doet zet je de macro-recorder aan. Nadat je de formule ingevoerd is stop je de recoreder en bekijk je wat de programmacode is. Vervolgens speel je met de code door er vat wijzigingen in aan te brengen en kijk je wat daarvan het resultaat is.
En NOOIT de Microsoft helpdesk bellen (=tijdverlies)
Jeroen