単語の長さでテキストの列を並べ替える2つのスマートな方法

今すぐ共有:

今日の記事では、Wordのテキストの列を長さで並べ替える2つの賢い方法を紹介します。

テーブル内のテキストまたは数値の列を並べ替える方法はいくつかあります。 しかし、テキストの列を長さで並べ替えることを考えたことはありますか? このような場合、ドキュメントのレイアウトはより明確で読みやすくなります。

ただし、Wordには、このルールを直接並べ替える方法はありません。 したがって、問題を解決するための回避策を探す必要があります。テキストの列を長さで並べ替える

方法1:WordVBAを使用する

たとえば、次のようなテーブルがあるとします。元のテーブル

  1. まず第一にost、Wordで「Alt + F11」を押してVBAエディターをトリガーします。
  2. 左側の列の「通常」をクリックして、新しいモジュールを作成します。
  3. 次に、[挿入]タブをクリックし、ドロップダウンメニューで[モジュール]を選択します。「通常」をクリック->「挿入」をクリック->「モジュール」をクリック
  4. 次に、モジュールをダブルクリックして開き、次のマクロをそこに貼り付けます。
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」に置き換えます。

  1. 次に「実行」をクリックします。コードの貼り付け-> [実行]をクリックします
  2. 次に、開いた最初のボックスに、の列番号を入力します。 tar2番目の列の「XNUMX」などの列を取得します。
  3. [OK]をクリックします。列番号を入力-> [OK]をクリックします
  4. 0番目のボックスに、並べ替えルールを指定するための数値を入力します。 「1」は昇順で並べ替え、「XNUMX」は降順で並べ替えることを表します。
  5. 同様に、「OK」をクリックします。番号を入力して並べ替えルールを指定-> [OK]をクリックします

効果を確認します。効果

方法2:Excelで並べ替える

  1. まず、Wordでテーブルを選択し、「Ctrl + C」を押してコピーします。
  2. 次にExcelを開き、「Ctrl + V」を押して貼り付けます。 ここで、テーブルにヘッダー行がない場合は、テーブルをセルA2に貼り付けます。
  3. 次に、列の列文字をクリックします。 たとえば、列Cが tar列を取得します。 選択範囲に合計列が表示されます。
  4. 次に右クリックして「挿入」を選択します。右クリック->「挿入」を選択
  5. 列Cの前に新しい列があります。新しい列のXNUMX番目のセルにカーソルを置きます。
  6. セルB2に「= LEN(C2)」と入力します。 「C」を実際のものに置き換えることを忘れないでください。
  7. 次に、セルB2の右下隅に、十字に変わるまでカーソルを置きます。
  8. 次にダブルクリックします。 数字で満たされた新しい列が表示されます。 これらは、列Cのテキストの文字数です。文字番号のある新しい列
  9. セルB1に好きなものを入力します。 空白のままにしないでください。
  10. 番号のある列Bの任意のセルにカーソルを置きます。
  11. 「ホーム」タブをクリックし、「並べ替えとフィルター」をクリックします。
  12. ドロップダウンメニューで、[最小から最大に並べ替え]または[最大から最小に並べ替え]を選択します。[ホーム]-> [並べ替えとフィルター]をクリック->並べ替えルールを選択
  13. 最後に、新しく挿入された列を選択し、右クリックして「削除」を選択します。 そして、テーブルをWord文書に貼り付けます。

破損したドキュメントを修復する

コンピューターに保存されているドキュメントは安全だと思いますか? あなたでさえあなたのコンピュータを攻撃から保護することができます。 文書を持っている可能性はまだありますlost。 したがって、ファイルが完全に安全ではない可能性があることに注意してください。 その結果、 docxリカバリ 事前のツールが良い選択でしょう。

著者紹介:

Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したxls の三脚と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。