今日の記事では、Wordのテキストの列を長さで並べ替える2つの賢い方法を紹介します。
テーブル内のテキストまたは数値の列を並べ替える方法はいくつかあります。 しかし、テキストの列を長さで並べ替えることを考えたことはありますか? このような場合、ドキュメントのレイアウトはより明確で読みやすくなります。
ただし、Wordには、このルールを直接並べ替える方法はありません。 したがって、問題を解決するための回避策を探す必要があります。
方法1:WordVBAを使用する
たとえば、次のようなテーブルがあるとします。
- まず第一にost、Wordで「Alt + F11」を押してVBAエディターをトリガーします。
- 左側の列の「通常」をクリックして、新しいモジュールを作成します。
- 次に、[挿入]タブをクリックし、ドロップダウンメニューで[モジュール]を選択します。
- 次に、モジュールをダブルクリックして開き、次のマクロをそこに貼り付けます。
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
お願い:
テーブルにヘッダー行が含まれていない場合は、次のコード行を変更する必要があります。
Selection.Sort ExcludeHeader:=True
「True」を「False」に置き換えます。
- 次に「実行」をクリックします。
- 次に、開いた最初のボックスに、の列番号を入力します。 tar2番目の列の「XNUMX」などの列を取得します。
- [OK]をクリックします。
- 0番目のボックスに、並べ替えルールを指定するための数値を入力します。 「1」は昇順で並べ替え、「XNUMX」は降順で並べ替えることを表します。
- 同様に、「OK」をクリックします。
効果を確認します。
方法2:Excelで並べ替える
- まず、Wordでテーブルを選択し、「Ctrl + C」を押してコピーします。
- 次にExcelを開き、「Ctrl + V」を押して貼り付けます。 ここで、テーブルにヘッダー行がない場合は、テーブルをセルA2に貼り付けます。
- 次に、列の列文字をクリックします。 たとえば、列Cが tar列を取得します。 選択範囲に合計列が表示されます。
- 次に右クリックして「挿入」を選択します。
- 列Cの前に新しい列があります。新しい列のXNUMX番目のセルにカーソルを置きます。
- セルB2に「= LEN(C2)」と入力します。 「C」を実際のものに置き換えることを忘れないでください。
- 次に、セルB2の右下隅に、十字に変わるまでカーソルを置きます。
- 次にダブルクリックします。 数字で満たされた新しい列が表示されます。 これらは、列Cのテキストの文字数です。
- セルB1に好きなものを入力します。 空白のままにしないでください。
- 番号のある列Bの任意のセルにカーソルを置きます。
- 「ホーム」タブをクリックし、「並べ替えとフィルター」をクリックします。
- ドロップダウンメニューで、[最小から最大に並べ替え]または[最大から最小に並べ替え]を選択します。
- 最後に、新しく挿入された列を選択し、右クリックして「削除」を選択します。 そして、テーブルをWord文書に貼り付けます。
破損したドキュメントを修復する
コンピューターに保存されているドキュメントは安全だと思いますか? あなたでさえあなたのコンピュータを攻撃から保護することができます。 文書を持っている可能性はまだありますlost。 したがって、ファイルが完全に安全ではない可能性があることに注意してください。 その結果、 docxリカバリ 事前のツールが良い選択でしょう。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したxls の三脚と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

![コードの貼り付け-> [実行]をクリックします コードの貼り付け-> [実行]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/05/Paste-Codes-then-Click-Run.jpg)
![列番号を入力-> [OK]をクリックします 列番号を入力-> [OK]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/05/Enter-Column-Number-then-Click-OK.jpg)
![番号を入力して並べ替えルールを指定-> [OK]をクリックします 番号を入力して並べ替えルールを指定-> [OK]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/05/Enter-a-Number-to-Specify-a-Sorting-Rule-then-Click-OK.jpg)



![[ホーム]-> [並べ替えとフィルター]をクリック->並べ替えルールを選択 [ホーム]-> [並べ替えとフィルター]をクリック->並べ替えルールを選択](https://www.datanumen.com/blogs/wp-content/uploads/2017/05/Click-Home-then-Click-Sort-Filter-then-Choose-a-Sorting-Rule.jpg)