In het artikel van vandaag laten we je 2 slimme manieren zien om een kolom met teksten op lengte te sorteren in je Word.
Er zijn verschillende manieren om een kolom met teksten of getallen in een tabel te sorteren. Maar heb je er wel eens aan gedacht om een kolom met teksten op lengte te sorteren? In dat geval zal uw documentlay-out duidelijker en gemakkelijker te lezen zijn.
Er is echter geen directe manier in Word om in deze regel te sorteren. Daarom moeten we zoeken naar tijdelijke oplossingen om het probleem op te lossen.
Methode 1: gebruik Word VBA
Laten we bijvoorbeeld zeggen dat we een tabel hebben zoals hieronder:
- Eerst en vooralost, druk in Word op "Alt + F11" om de VBA-editor te activeren.
- Ga naar het aanmaken van een nieuwe module door in de linkerkolom op "Normaal" te klikken.
- Klik vervolgens op het tabblad "Invoegen" en kies "Module" in het vervolgkeuzemenu.
- Dubbelklik vervolgens op de module om deze te openen en plak de onderstaande macro daar:
Sub SortByWordLength()
Dim objTable As Table
Dim objColumnCell As Cell
Dim objColumnCellRange As Range
Dim objNewColumnCellRange As Range
Dim nRowNumber As Integer
Dim nColumnNumber As Integer
Dim strWordLenth As String
Dim nSortOrder As Integer
Dim nCurrentTableIndex As Integer
Dim nTableColumnsInCurrentTable As Integer
nCurrentTableIndex = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
nTableColumns = ActiveDocument.Tables(nCurrentTableIndex).Columns.Count
nColumnNumber = InputBox("Enter the column number you want to sort", "Column Number", "For example:2")
If nColumnNumber > 0 And nColumnNumber <= nTableColumns Then
nSortOrder = InputBox("Choose the sort order:" & vbNewLine & "If you want to sort by descending, click 1" & vbNewLine & "If you want to sort by ascending, click 0", "Sort Order", "For example:1")
If nSortOrder = 1 Or nSortOrder = 0 Then
' Add a new column to put the word length of the specified column.
Set objTable = ActiveDocument.Tables(nCurrentTableIndex)
objTable.Columns.Add BeforeColumn:=objTable.Columns(nColumnNumber)
nRowNumber = 1
For Each objColumnCell In objTable.Columns(nColumnNumber + 1).Cells
Set objColumnCellRange = objColumnCell.Range
objColumnCellRange.MoveEnd Unit:=wdCharacter, Count:=-1
Set objNewColumnCellRange = objTable.Cell(nRowNumber, nColumnNumber).Range
objNewColumnCellRange.MoveEnd Unit:=wdCharacter, Count:=-1
strWordLenth = Len(objColumnCellRange.Text)
objNewColumnCellRange.InsertAfter (strWordLenth)
nRowNumber = nRowNumber + 1
Next objColumnCell
objTable.Select
' Sort by the word length.
Selection.Sort ExcludeHeader:=True, FieldNumber:="Column " & nColumnNumber, SortFieldType:= _
wdSortFieldNumeric, SortOrder:=nSortOrder, FieldNumber2:="", _
SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:=wdSortOrderAscending _
, FieldNumber3:="", SortFieldType3:=wdSortFieldAlphanumeric, SortOrder3:= _
wdSortOrderAscending, Separator:=wdSortSeparateByCommas, SortColumn:= _
False, CaseSensitive:=False, LanguageID:=wdEnglishUS, SubFieldNumber:= _
"Paragraphs", SubFieldNumber2:="Paragraphs", SubFieldNumber3:="Paragraphs"
objTable.Columns(nColumnNumber).Delete
Else
MsgBox ("Invalid sort type, please try again")
End If
Else
MsgBox ("Invalid column number, please try again")
End If
End Sub
Note:
Als uw tabel geen koprij bevat, moet u de volgende coderegel wijzigen:
Selection.Sort ExcludeHeader:=True
Vervang "Waar" door "Onwaar".
- Klik vervolgens op "Uitvoeren".
- Voer vervolgens in het eerste geopende vak het kolomnummer van in tarkolom ophalen, zoals "2" voor de tweede kolom.
- Klik OK".
- Voer in het tweede vak een nummer in om een sorteerregel op te geven. "0" staat voor sorteren door oplopend, "1" door aflopend.
- Klik op dezelfde manier op "OK".
Controleer het effect:
Methode 2: sorteren in Excel
- Selecteer eerst de tabel in Word en druk op "Ctrl + C" om deze te kopiëren.
- Open vervolgens Excel en plak het door op "Ctrl + V" te drukken. Als uw tabel geen koprij heeft, plakt u de tabel in cel A2.
- Klik dan op de kolomletter van de kolom. Laten we bijvoorbeeld zeggen dat kolom C de is tarkolom krijgen. U ziet de kolom totaal in selectie.
- Klik vervolgens met de rechtermuisknop en kies "Invoegen".
- Er komt een nieuwe kolom voor kolom C. Plaats de cursor op de tweede cel van de nieuwe kolom.
- Typ "=LEN(C2)" in cel B2. Vergeet niet om de "C" te vervangen door een echte.
- Plaats vervolgens de cursor in de rechterbenedenhoek van cel B2 totdat deze verandert in een kruis.
- Dubbelklik nu. U ziet de nieuwe kolom gevuld met getallen. Dit zijn aantal karakters voor de teksten in kolom C.
- Voer alles in wat u maar wilt in cel B1. Laat het gewoon niet leeg.
- Plaats de cursor in een willekeurige cel in kolom B die een nummer heeft.
- Ga naar het tabblad "Start" en klik op "Sorteren en filteren".
- Kies in het vervolgkeuzemenu "Sorteren van klein naar groot" of "Sorteren van groot naar klein".
- Selecteer ten slotte de nieuw ingevoegde kolom en klik met de rechtermuisknop om "Verwijderen" te kiezen. En plak de tabel terug naar Word-document.
Herstel corrupte documenten
Gelooft u dat uw documenten die op computers zijn opgeslagen, veilig zijn? Zelfs u kunt uw computer beschermen tegen aanvallen. Er is nog steeds de mogelijkheid om documenten te hebben lost. Houd er dus rekening mee dat uw bestand mogelijk niet helemaal veilig is. Krijg daarom een docx herstel hulpmiddel vooraf zou een goede keuze zijn.
Auteur Introductie:
Vera Chen is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder beschadigde xls en pdf reparatie softwareproducten. Voor meer informatie bezoek www.datanumen.com







