2 formas inteligentes de ordenar una columna de textos por longitud en su palabra

Comparte ahora:

En el artículo de hoy, le mostraremos 2 formas inteligentes de ordenar una columna de textos por longitud en su Word.

Hay varias formas de ordenar una columna de textos o números en una tabla. Pero, ¿alguna vez has pensado en ordenar una columna de textos por longitud? En tal caso, el diseño de su documento será más claro y fácil de leer.

Sin embargo, no hay una forma directa en Word para que clasifiquemos esta regla. Por lo tanto, tenemos que buscar soluciones para resolver el problema.Ordenar una columna de textos por longitud

Método 1: usar Word VBA

Por ejemplo, digamos que tenemos una tabla como la siguiente:Tabla original

  1. En primer lugar, en Word pulse “Alt + F11” para abrir el editor de VBA.
  2. Vaya a crear un nuevo módulo haciendo clic en "Normal" en la columna de la izquierda.
  3. Luego haga clic en la pestaña "Insertar" y seleccione "Módulo" en el menú desplegable.Haga clic en "Normal" -> Haga clic en "Insertar" -> Haga clic en "Módulo"
  4. A continuación, haga doble clic en el módulo para abrirlo y pegue la siguiente macro allí:
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

Nota: :

Si su tabla no contiene una fila de encabezado, debe modificar la siguiente línea de código:

Selection.Sort ExcludeHeader:=True

Reemplace "Verdadero" por "Falso".

  1. A continuación, haga clic en "Ejecutar".Pegar códigos-> Haga clic en "Ejecutar"
  2. Luego, en el primer cuadro que se abre, ingrese el número de columna de la columna de destino, por ejemplo, "2" para la segunda columna.
  3. Haga clic en Aceptar".Ingrese el número de columna-> haga clic en "Aceptar"
  4. En el segundo cuadro, ingrese un número para especificar una regla de clasificación. "0" representa ordenar por orden ascendente, "1" por orden descendente.
  5. Del mismo modo, haga clic en "Aceptar".Ingrese un número para especificar una regla de clasificación-> Haga clic en "Aceptar"

Comprueba el efecto:Efecto

Método 2: ordenar en Excel

  1. En primer lugar, seleccione la tabla en Word y presione "Ctrl + C" para copiarla.
  2. A continuación, abra Excel y péguelo presionando "Ctrl + V". Ahora, si su tabla no tiene una fila de encabezado, pegue la tabla en la celda A2.
  3. A continuación, haga clic en la letra de la columna. Por ejemplo, supongamos que la columna C es la columna de destino. Verá la columna total seleccionada.
  4. A continuación, haga clic derecho y elija "Insertar".Haga clic derecho -> Elija "Insertar"
  5. Habrá una nueva columna antes de la columna C. Coloque el cursor en la segunda celda de la nueva columna.
  6. Ingrese “= LEN (C2)” en la celda B2. Recuerde reemplazar la "C" por una real.
  7. A continuación, coloque el cursor en la esquina inferior derecha de la celda B2 hasta que cambie a una cruz.
  8. Ahora haga doble clic. Verá la nueva columna llena de números. Estos son el número de caracteres de los textos de la columna C.Nueva columna con números de caracteres
  9. Ingrese lo que quiera en la celda B1. No lo dejes en blanco.
  10. Coloque el cursor en cualquier celda de la columna B que tenga un número.
  11. Vaya a la pestaña "Inicio" y haga clic en "Ordenar y filtrar".
  12. En el menú desplegable, elija "Ordenar de menor a mayor" o "Ordenar de mayor a menor".Haga clic en "Inicio" -> Haga clic en "Ordenar y filtrar" -> Elija una regla de clasificación
  13. Finalmente, seleccione la columna recién insertada y haga clic derecho para elegir "Eliminar". Y pegue la tabla en el documento de Word.

Reparar documentos corruptos

¿Crees que tus documentos almacenados en ordenadores están seguros? Aunque puedas proteger tu ordenador de un ataque, aún existe la posibilidad de perder documentos. Por lo tanto, ten en cuenta que tu archivo podría no estar completamente seguro. En consecuencia, obtén un recuperación de docx la herramienta de antemano sería una buena opción.

Introducción del autor:

Vera Chen es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo xls dañados y pdf reparar productos de software. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.