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