2 умных способа отсортировать столбец текстов по длине в Word

Поделись сейчас:

В сегодняшней статье мы покажем вам 2 умных способа отсортировать столбец текстов по длине в вашем Word.

Существует несколько способов сортировки столбца текстов или чисел в таблице. Но задумывались ли вы когда-нибудь о сортировке столбца текстов по длине? В этом случае макет вашего документа будет более четким и удобным для чтения.

Однако в Word нет прямого способа сортировки по этому правилу. Поэтому приходится искать обходные пути для решения проблемы.Сортировка столбца текстов по длине

Способ 1: использовать Word VBA

Например, допустим, у нас есть таблица, как показано ниже:Оригинальный стол

  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

Замените «Верно» на «Неверно».

  1. Далее нажмите «Выполнить».Вставьте коды-> Нажмите «Выполнить».
  2. Затем в первом открытом поле введите номер столбца tarполучить столбец, например «2» для второго столбца.
  3. Нажмите «ОК».Введите номер столбца-> нажмите «ОК»
  4. Во втором поле введите число, чтобы задать правило сортировки. «0» означает сортировку по возрастанию, «1» — по убыванию.
  5. Аналогично нажмите «ОК».Введите число, чтобы указать правило сортировки-> Нажмите «ОК».

Проверьте эффект:эффект

Способ 2: сортировка в Excel

  1. Во-первых, выберите таблицу в Word и нажмите «Ctrl + C», чтобы скопировать ее.
  2. Затем откройте Excel и вставьте его, нажав «Ctrl + V». Теперь, если в вашей таблице нет строки заголовка, вставьте таблицу в ячейку A2.
  3. Затем нажмите на букву столбца столбца. Например, предположим, что столбец C является tarполучить колонку. Вы увидите общий столбец в выборе.
  4. Далее щелкните правой кнопкой мыши и выберите «Вставить».Щелкните правой кнопкой мыши -> выберите «Вставить»
  5. Перед столбцом C появится новый столбец. Поместите курсор во вторую ячейку нового столбца.
  6. Введите «=LEN(C2)» в ячейку B2. Не забудьте заменить букву «С» на настоящую.
  7. Затем поместите курсор в правый нижний угол ячейки B2, пока он не изменится на крест.
  8. Теперь дважды щелкните. Вы увидите новый столбец, заполненный числами. Это количество символов для текстов в столбце C.Новый столбец с номерами символов
  9. Введите все, что хотите, в ячейку B1. Только не оставляйте это поле пустым.
  10. Поместите курсор в любую ячейку столбца B, в которой есть число.
  11. Перейдите на вкладку «Главная» и нажмите «Сортировка и фильтр».
  12. В раскрывающемся меню выберите «Сортировать от наименьшего к наибольшему» или «Сортировать от наибольшего к наименьшему».Нажмите «Главная» -> «Сортировка и фильтр» -> «Выберите правило сортировки».
  13. Наконец, выберите только что вставленный столбец и щелкните правой кнопкой мыши, чтобы выбрать «Удалить». И вставьте таблицу обратно в документ Word.

Восстановление поврежденных документов

Считаете ли вы, что ваши документы, хранящиеся на компьютерах, в безопасности? Даже вы можете защитить свой компьютер от нападения. Еще есть возможность иметь документы лost. Так что имейте в виду, что ваш файл может быть не совсем безопасным. Следовательно, получить восстановление docx инструмент заранее был бы хорошим выбором.

Об авторе:

Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный xls и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.