V dnešním článku si ukážeme dva chytré způsoby, jak ve Wordu třídit sloupec textů podle délky.
Existuje několik způsobů, jak třídit sloupec textů nebo čísel v tabulce. Ale přemýšleli jste někdy o třídění sloupce textů podle délky? V takovém případě bude rozložení dokumentu jasnější a snáze čitelné.
V aplikaci Word však neexistuje žádný přímý způsob, jak bychom toto pravidlo mohli třídit. Proto musíme hledat řešení, jak tento problém vyřešit.
Metoda 1: Použijte Word VBA
Řekněme například, že máme níže uvedenou tabulku:
- V první řadě ve Wordu stiskněte „Alt+F11“ pro spuštění editoru VBA.
- Kliknutím na „Normální“ v levém sloupci přejděte k vytvoření nového modulu.
- Poté klikněte na kartu „Vložit“ a v rozevírací nabídce vyberte možnost „Modul“.
- Dalším dvojitým kliknutím na modul jej otevřete a vložte do něj následující makro:
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
Hodnocení:
Pokud vaše tabulka neobsahuje žádný řádek záhlaví, musíte změnit následující řádek kódu:
Selection.Sort ExcludeHeader:=True
Nahraďte „True“ slovem „False“.
- Dále klikněte na „Spustit“.
- Pak do prvního otevřeného pole zadejte číslo cílového sloupce, například „2“ pro druhý sloupec.
- Klikněte na tlačítko OK.
- Do druhého pole zadejte číslo a určete pravidlo řazení. „0“ představuje řazení vzestupně, „1“ sestupně.
- Podobně klikněte na „OK“.
Zkontrolujte efekt:
Metoda 2: Řazení v aplikaci Excel
- Nejprve vyberte tabulku v aplikaci Word a zkopírujte ji stisknutím kláves „Ctrl + C“.
- Dále otevřete Excel a vložte jej stisknutím „Ctrl + V“. Pokud vaše tabulka nemá žádný řádek záhlaví, vložte ji do buňky A2.
- Pak klikněte na písmeno sloupce. Řekněme například, že cílovým sloupcem je sloupec C. Ve výběru uvidíte sloupec součtu.
- Dále klikněte pravým tlačítkem a vyberte „Vložit“.
- Před sloupcem C bude nový sloupec. Umístěte kurzor do druhé buňky nového sloupce.
- Do buňky B2 zadejte „= LEN (C2)“. Nezapomeňte nahradit „C“ skutečným.
- Dále umístěte kurzor do pravého dolního rohu buňky B2, dokud se nezmění na křížek.
- Nyní poklepejte. Uvidíte nový sloupec plný čísel. Jedná se o počet znaků pro texty ve sloupci C.
- Do buňky B1 zadejte vše, co se vám líbí. Nenechávejte to prázdné.
- Umístěte kurzor do libovolné buňky ve sloupci B, která má číslo.
- Přejděte na kartu „Domů“ a klikněte na „Třídit a filtrovat“.
- V rozevírací nabídce vyberte možnost „Seřadit od nejmenšího po největší“ nebo „Seřadit od největšího k nejmenšímu“.
- Nakonec vyberte nově vložený sloupec a kliknutím pravým tlačítkem vyberte „Odstranit“. A vložte tabulku zpět do dokumentu aplikace Word.
Opravit poškozené dokumenty
Věříte, že vaše dokumenty uložené v počítačích jsou v bezpečí? I vy můžete svůj počítač ochránit před útokem. Stále existuje možnost ztráty dokumentů. Mějte proto na paměti, že váš soubor nemusí být zcela bezpečný. Proto si pořiďte obnovení docx nástroj předem by byla dobrá volba.
Úvod autora:
Vera Chen je expertka na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně poškozené xls a pdf opravy softwarových produktů. Pro více informací navštivte www.datanumen.com







