Habe eine Worddatei mit 300 Seiten. In der Datei sind insgesammt 250 sechstellige nummern.
Nun, in einer anderen Worddatei, sind diese 250 zahlen ebenfalls vorhanden. Nun brauche ich ein Makro oder ähnliches, der dann die 250 Zahlen aus dem einem DOkument nimmt und prüft, ob diese Zahlen auch in dem anderen Dokument vorhanden sind…
Habe eine Worddatei mit 300 Seiten. In der Datei sind
insgesammt 250 sechstellige nummern.
Nun, in einer anderen Worddatei, sind diese 250 zahlen
ebenfalls vorhanden. Nun brauche ich ein Makro oder ähnliches,
der dann die 250 Zahlen aus dem einem DOkument nimmt und
prüft, ob diese Zahlen auch in dem anderen Dokument vorhanden
sind…
Hallo Kolri,
und dann?
Wie wo soll das Ergebnis der Prüfung präsentiert werden?
In einer MsgBox, in einem dritten Dokument, wie soll da die Darstellung aussehen?
Achja, grundsätzlich egal, würd aber den Code ggfs. beschleunigen, sind diese Zahlen da innerhalb eines Dokumentes sortiert nach Größe?
Und, es sollen nur alle sechsstelligen Zahlen erfasst wereden?
also die Zahlen sind total durcheinander im Dokument. Ich hatte mir gedacht, dass die beiden Dokumente verglichen weden und dann in einem dritten dokument alle zahlen aufgelistet werden, welche in dem Dokument zwei nicht vorkommen…
Aber ich habe mir inzwischen was anderes überlegt, vielleicht etwas einfacher
Ich markiere mir jetzt immer ca. 10 Seiten und über die Suchfunktion lasse ich mir „einzelne Buchstaben“ anzeigen. Diese werden dann markiert und herausgelöscht. Dann stehen nur noch zahlen in dem Dokument… dann gehe ich hin und lösche alles unnötige raus (Zahlen vom Datum, von Nummerierungen usw. )
So dann habe ich alle meine sechstelligen zahlen.
Diese wollte ich dann in einer Excel Tabelle mit den anderen Zahlen vergleichen… ist zwar scheiss arbeit, aber klappt auch irgendwie…
Ich weiss nicht, vielleicht haste ja ne schnellere Lösung (wenn es nicht zu kompliziert wird )…Ansonsten bedanke ich mich wieder mal für deine Hilfsbereitschaft
also die Zahlen sind total durcheinander im Dokument. Ich
hatte mir gedacht, dass die beiden Dokumente verglichen weden
und dann in einem dritten dokument alle zahlen aufgelistet
werden, welche in dem Dokument zwei nicht vorkommen…
Hallo Kolri,
sollen sie vor der Ausgabe sortiert werden?
Die Dokumentnamen mußt du oben bei Set… im Code anpassen.
Option Explicit
'
Sub Zahlen()
Dim Doc1 As Document, Doc2 As Document, W As Range, Mldg As String
Dim col1 As New Collection, col2 As New Collection, C As Integer
Set Doc1 = Documents("Dokument1")
Set Doc2 = Documents("Dokument2")
With Doc1
On Error Resume Next ' wegen colx.Add
For Each W In .Words
If IsNumeric(W) Then
If Len(Trim(W)) = 6 Then 'Trim wegen Leerzeichen hinten!??
col1.Add Key:=CStr(Trim(W)), Item:=CStr(Trim(W))
End If
End If
Next W
For C = 1 To col1.Count
If InStr(Doc2.Range, col1(C)) = 0 Then
col2.Add Key:=col1(C), Item:=col1(C)
End If
Next C
On Error GoTo 0
End With
Documents.Add
With ActiveDocument
Mldg = "Anzahl Zahlen, die in " & Doc1.Name & " aber NICHT in " & Doc2.Name
Mldg = Mldg & " enthalten sind: " & col2.Count & vbCrLf & vbCrLf
Mldg = Mldg & "Liste der Zahlen:" & vbCrLf & vbCrLf
Selection.TypeText Text:=Mldg
For C = 1 To col2.Count
Selection.TypeText Text:=col2(C) & vbCrLf
Next C
End With
End Sub