I dagens artikel viser vi dig 2 smarte måder at sortere en kolonne med tekster på i længden i dit Word.
Der er flere måder at sortere en kolonne med tekster eller tal i en tabel. Men har du nogensinde tænkt på at sortere en tekstsøjle efter længde? I sådanne tilfælde vil dit dokumentlayout være mere klart og let at læse.
Der er imidlertid ingen direkte måde i Word for os at sortere i denne regel. Derfor er vi nødt til at kigge efter løsninger til at løse problemet.
Metode 1: Brug Word VBA
Lad os f.eks. Sige, at vi har et bord som følger:
- Første og foremost, i Word skal du trykke på "Alt+ F11" for at udløse VBA -editor.
- Gå til at oprette et nyt modul ved at klikke på "Normal" i venstre kolonne.
- Klik derefter på fanen "Indsæt", og vælg "Modul" i rullemenuen.
- Dobbeltklik derefter på modulet for at åbne det og indsæt den bælgende makro der:
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
Bemærk:
Hvis din tabel ikke indeholder nogen overskriftsrække, skal du ændre følgende kodelinje:
Selection.Sort ExcludeHeader:=True
Erstat “Sand” med “Falsk”.
- Klik derefter på "Kør".
- Indtast derefter kolonnenummeret i den første boks, der er åben tarfå kolonne, f.eks. “2” for den anden kolonne.
- Klik på "OK".
- I den anden boks skal du indtaste et nummer for at angive en sorteringsregel. "0" repræsenterer sortering efter stigende, "1" ved faldende.
- På samme måde skal du klikke på "OK".
Kontroller effekten:
Metode 2: Sorter i Excel
- Vælg først en tabel i Word og tryk på "Ctrl+ C" for at kopiere den.
- Åbn derefter Excel og indsæt det ved at trykke på "Ctrl+ V". Hvis din tabel nu ikke har nogen overskriftsrække, skal du indsætte tabellen i celle A2.
- Klik derefter på kolonnens bogstav i kolonnen. Lad os f.eks. Sige, at kolonne C er tarfå kolonne. Du vil se den samlede kolonne i markeringen.
- Næste højreklik og vælg "Indsæt".
- Der vil være en ny kolonne før kolonne C. Placer markøren ved den anden celle i den nye kolonne.
- Indtast “= LEN (C2)” i celle B2. Husk at udskifte “C” med en faktisk.
- Sæt derefter markøren i højre hjørne af celle B2, indtil den ændres til et kryds.
- Dobbeltklik nu. Du vil se den nye kolonne fyldt med tal. Dette er antallet af tegn for teksterne i kolonne C.
- Indtast alt, hvad du kan lide i celle B1. Bare lad det ikke stå tomt.
- Sæt markøren i en hvilken som helst celle i kolonne B, der har et tal.
- Gå til fanen "Start" og klik på "Sorter og filtrer".
- I rullemenuen skal du vælge "Sorter mindst til størst" eller "Sorter størst til mindste".
- Vælg endelig den nyligt indsatte kolonne og højreklik for at vælge "Slet". Og indsæt tabellen tilbage til Word -dokument.
Reparation af korrupte dokumenter
Tror du, at dine dokumenter, der er gemt på computere, er sikre? Selv du kan beskytte din computer mod angreb. Der er stadig mulighed for at have dokumenter lost. Så husk på, at din fil muligvis ikke er helt sikker. Få derfor en docx opsving værktøj på forhånd ville være et godt valg.
Forfatter Introduktion:
Vera Chen er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder beskadigede xls og pdf produkter til reparation af software. For mere information besøg www.datanumen.com







