sorteren van getallen

Status
Niet open voor verdere reacties.

sanrichz

Gebruiker
Lid geworden
17 mrt 2004
Berichten
126
Beste allemaal,

Ik wil een document sorteren in Word op getal. Dat lukt niet echt omdat de 11 na de 1 komt en daarna pas de 2 etc.

Ik heb de vraag al eens eerder gesteld en toen kreeg ik het advies om de 1 te vervangen door 01 maar bij lange lijsten is dat een hele klus omdat ik het getal voor getal moet doen (anders wordt 11 0101)

Ik heb een lijst bijgevoegd zodat jullie misschien willen kijken wat ik over het hoofd zie en hoe ik deze lijst op volgorde kan krijgen met één druk op de knop!

Groetjes en bedankt alvast,

Sandra
 

Bijlagen

Ge moet niet telkens voor de 1 een nul zetten.
Ge moet dat zo doen:
01
02
03
04
05
06
07
08
09
10
11
enz.
dan gaat dat wel.

succes

Jean
 
Gezien de vele combinaties zou ik dat met een macro oplossen.

Option Explicit

Sub van1naar01()
' Macro opgenomen op 8-5-2005 door --
Dim x As Long
'Voor x:
For x = 1 To 9
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " " & x & ":"
.Replacement.Text = " 0" & x & ":"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Execute Replace:=wdReplaceAll
Next x
'voor :x spatie
For x = 1 To 9
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ":" & x & " "
.Replacement.Text = ":0" & x & " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Execute Replace:=wdReplaceAll
Next x
'voor :x harde return
For x = 1 To 9
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ":" & x & "^13"
.Replacement.Text = ":0" & x & "^13"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Execute Replace:=wdReplaceAll
Next x
'voor :x Tab
For x = 1 To 9
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ":" & x & "^t"
.Replacement.Text = ":0" & x & "^t"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Execute Replace:=wdReplaceAll
Next x
End Sub

Selecteeer (van Option Explicit t/m End Sub) en kopieer (CTRL+C) bovenstaande tekst.
Open Word, open je bestand, druk op ALT+F11, ga naar invoegen, kies Module, plak de macro in het lege blad (CTRL+V) en druk op F4.
Vervolgens heb je onder Extra, Macro, Macro's nu een macro met de naam van1naar01 start.

N.b. ik heb niets gedaan met de de lid x en je vraag m.b.t. het sorteren, dat laatste wordt ook lastig, je hebt nog als wat 'vervuiling' in de lijst staan. D.w.z. soms mist er een harde return aan het eind, lege regels, extra info achter een regel etc.
Zelf zou ik waarschijnlijk een excel tabel in word opnemen en ze daar allemaal in zetten. Binnen excel kan je goed sorteren, maar dan moet je wel eerst je lijst opschonen.

P.s. waarom werkt het nu wel, niet omdat het een macro is, maar omdat ik niet op 1 zoek, maar op spatie 1 dubbelepunt (bijvoorbeeld) en dit in z'n geheel vervang door staptie 01 dubbelepunt. De Macro doet dit voor alle getallen van 1 t/m 9, voor de rechter kant is het wat lastiger, soms staat er een spatie aan achter het cijfer, soms een return en soms een tab, de macro pas ze in alle drie de gevallen aan.
 
Laatst bewerkt:
bedankt voor jullie hulp

Beste Jean en C. Withaar,

Bedankt voor de hulp! Het is gelukt op de manier van Jean. De macromanier gaat mij boven mijn pet! Dat lijkt me iets voor heel ver gevorderden! In elk geval heeft het me veel werk bespaard!

groetjes,

Sandra
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan