Makro som fjerner doble forekomster av ord i en liste
Hvis man jobber med lengre lister, hender det man trenger å fjerne ord som forekommer flere ganger. Denne makroen fra Greg Maxeys Internett-side med Word-tips sorterer listen og fjerner de doble forekomstene. Ordene må stå på hver sin linje (skal se slik ut ¶ hvis du skrur på skjulte tegn).
Vålerenga West Ham Chelsea West Ham Arsenal Arsenal |
vil ende opp som |
Arsenal Chelsea Vålerenga West Ham |
Makroen er testet, men installeres og kjøres på eget ansvar. Kjøring av makroen på dokumenter som er lengre enn ti sider, vil kunne få Word til å fryse. Så del opp i mindre porsjoner hvis du har lange dokumenter.
Her er makroen som du kopierer og limer inn i en ny makro. (NB! Kun for viderekomne brukere! Installasjonsguide finnes på Graham Mayors side med Word-tips.)
NB! Den teksten du ønsker å sortere og «rense», må være merket før du kan kjøre makroen!
Sub SortAndRemoveDuplicatesFromList()
Dim oParagraphs As Paragraphs
Dim i As Long
Dim j As Long
Set oParagraphs = Selection.Paragraphs
If oParagraphs.Count > 1 Then
Selection.Sort SortOrder:=wdSortOrderAscending
Else
MsgBox "There is no valid selection to sort"
Exit Sub
End If
For i = 1 To oParagraphs.Count
For j = i + 1 To oParagraphs.Count
If oParagraphs(i).Range.Text = oParagraphs(j).Range.Text
Then
oParagraphs(j).Range.Delete
j = j - 1
If j = oParagraphs.Count Then
Exit Sub
Else
Exit For
End If
Next
Next
End Sub
Dersom du ønsker en makro som sorterer og fjerner dubletter i hele dokumentet,
må du endre linjen:
Set oParagraphs = Selection.Paragraphs
til
Set oParagraphs = ActiveDocument.Range.Paragraphs
En oversiktsside over andre Word-tips finner du her.
Savner du noe på denne siden, kan du skrive til webredaktøren.

