Toon posts:

[VBA] Ik krijg sorteer functie niet voor elkaar

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als beginnerling ben ik bezig met het maken van een sorteer functie met VBA in Word.

Het is de bedoeling dat er een aantal tekstbestanden worden gelezen. Deze bevatten altijd 2 regels. Nu wil ik graag dat o.b.v. de eerste regel er nieuwe textbestanden worden weggeschreven waarbij de volgorde van wegschrijven afhangt van de eerste regel van elk bestand. Dit moet namelijk alfabetisch gebeuren.

Stel ik heb:
testbestand0001.txt, met op regel1: "Bedankt" en op regel2: "100"
testbestand0002.txt, met op regel1: "Alvast" en op regel2: "50"

Nu wil ik de bestanden weer wegschrijven waarbij alfabetisch gesorteerd wordt op de eerste regel van elk bestand, dus nu zou het resultaat moeten zijn:
testbestand0001.txt, met op regel1: "Alvast" en op regel2: "50"
testbestand0002.txt, met op regel1: "Bedankt" en op regel2: "100"

Ik ben flink aan het vogelen geweest, ik loop vast op het sorteren en wegschrijven.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Sub testje()
Dim Regels(100000) As String
Dim Regels2(100000) As String
Dim tmp As String
Dim i As Integer
Dim j As Integer
Dim b As Integer

bestanden = "C:\Mijn Documenten\"

With Application.FileSearch
    .NewSearch
    .LookIn = bestanden
    .SearchSubFolders = False
    .FileName = "testbestand"
    .MatchAllWordForms = True
    .FileType = msoFileTypeAllFiles
    If .Execute() > 0 Then aantal = .FoundFiles.Count

i = 1

For b = 1 To aantal
    Open .FoundFiles(b) For Input As #1
        Line Input #1, tmp
        Line Input #1, tmp2
        Regels(i) = tmp
        Regels2(i) = tmp2
        i = i + 1
    Close #1
Next b

n = Format(1, "00000")

For z = 1 To aantal
    For j = i To 0 Step -1
    Open bestanden & "testbestand" & n & ".txt" For Output As #1
        Print #1, Regels(i)
        Print #1, Regels2(i)
        Close #1
        n = n + 1
    Next j
Next z

End With
End Sub

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Waar zit je sorteer routine dan ? Laat eens zien wat je al hebt ....

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.