2 cách thông minh để sắp xếp cột văn bản theo độ dài trong Word của bạn

Chia sẻ ngay bây giờ:

Trong bài viết hôm nay, chúng tôi sẽ chỉ cho bạn 2 cách thông minh để sắp xếp một cột văn bản theo độ dài trong Word của bạn.

Có một số cách để sắp xếp một cột văn bản hoặc số trong bảng. Tuy nhiên, bạn đã bao giờ nghĩ đến việc sắp xếp một cột văn bản theo độ dài chưa? Trong trường hợp như vậy, bố cục tài liệu của bạn sẽ rõ ràng và dễ đọc hơn.

Tuy nhiên, không có cách trực tiếp nào trong Word để chúng ta sắp xếp theo quy tắc này. Do đó, chúng tôi phải tìm cách giải quyết để giải quyết vấn đề.Sắp xếp một cột văn bản theo độ dài

Cách 1: Sử dụng Word VBA

Ví dụ: giả sử chúng ta có một bảng như sau:Bảng gốc

  1. Trước hết, trong Word, hãy nhấn tổ hợp phím “Alt + F11” để mở trình soạn thảo VBA.
  2. Đi để tạo một mô-đun mới bằng cách nhấp vào “Bình thường” ở cột bên trái.
  3. Sau đó nhấp vào tab “Chèn” và chọn “Mô-đun” trên menu thả xuống.Nhấp vào "Bình thường" -> Nhấp vào "Chèn" -> Nhấp vào "Mô-đun"
  4. Tiếp theo nhấp đúp chuột vào mô-đun để mở nó và dán macro dưới đây vào đó:
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

Lưu ý:

Nếu bảng của bạn không chứa hàng tiêu đề, thì bạn cần thay đổi dòng mã sau:

Selection.Sort ExcludeHeader:=True

Thay thế “Đúng” bằng “Sai”.

  1. Tiếp theo nhấp vào "Chạy".Dán mã-> Nhấp vào "Chạy"
  2. Sau đó, trong ô đầu tiên mở ra, nhập số thứ tự cột của cột cần nhắm đến, ví dụ như “2” cho cột thứ hai.
  3. Nhấp vào "OK".Nhập số cột-> Nhấp vào "OK"
  4. Trong hộp thứ hai, hãy nhập một số để chỉ định quy tắc sắp xếp. “0” đại diện cho sắp xếp theo thứ tự tăng dần, “1” theo thứ tự giảm dần.
  5. Tương tự, nhấp vào “OK”.Nhập một số để chỉ định quy tắc sắp xếp->Nhấp vào "OK"

Kiểm tra hiệu ứng:Hiệu ứng

Cách 2: Sắp xếp trong Excel

  1. Đầu tiên, chọn bảng trong Word và nhấn “Ctrl + C” để sao chép nó.
  2. Tiếp theo mở Excel và dán nó bằng cách nhấn “Ctrl + V”. Bây giờ nếu bảng của bạn không có hàng tiêu đề, hãy dán bảng vào ô A2.
  3. Sau đó nhấp vào chữ cái của cột. Ví dụ, giả sử cột C là cột mục tiêu. Bạn sẽ thấy toàn bộ cột được chọn.
  4. Tiếp theo nhấp chuột phải và chọn “Chèn”.Nhấp chuột phải -> Chọn "Chèn"
  5. Sẽ có một cột mới trước cột C. Định vị con trỏ tại ô thứ hai của cột mới.
  6. Nhập “=LEN(C2)” vào ô B2. Nhớ thay chữ “C” bằng chữ thật.
  7. Tiếp theo đặt con trỏ ở góc dưới bên phải của ô B2 cho đến khi nó chuyển thành dấu thập.
  8. Bây giờ nhấp đúp chuột. Bạn sẽ thấy cột mới chứa đầy số. Đây là số ký tự cho các văn bản trong cột C.Cột mới có số ký tự
  9. Nhập bất cứ thứ gì bạn thích vào ô B1. Chỉ cần không để nó trống.
  10. Đặt con trỏ vào bất kỳ ô nào trong cột B có số.
  11. Chuyển đến nhấp vào tab “Trang chủ” và nhấp vào “Sắp xếp & Lọc”.
  12. Trên menu thả xuống, chọn “Sắp xếp từ nhỏ nhất đến lớn nhất” hoặc “Sắp xếp từ lớn nhất đến nhỏ nhất”.Nhấp vào "Trang chủ" -> Nhấp vào "Sắp xếp & Lọc" -> Chọn Quy tắc sắp xếp
  13. Cuối cùng, chọn cột vừa chèn và nhấp chuột phải chọn “Xóa”. Và dán bảng trở lại tài liệu Word.

Sửa chữa tài liệu bị hỏng

Bạn có tin rằng các tài liệu được lưu trữ trên máy tính của mình là an toàn? Ngay cả khi bạn có thể bảo vệ máy tính của mình khỏi các cuộc tấn công, vẫn có khả năng tài liệu bị mất. Vì vậy, hãy nhớ rằng tập tin của bạn có thể không hoàn toàn an toàn. Do đó, hãy sử dụng dịch vụ sao lưu chuyên nghiệp. phục hồi docx công cụ trước sẽ là một lựa chọn tốt.

Giới thiệu tác giả:

Vera Chen là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm hư hỏng xls và pdf sửa chữa các sản phẩm phần mềm. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.