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.
Método 1: usar Word VBA
Por ejemplo, digamos que tenemos una tabla como la siguiente:
- En primer lugar, en Word pulse “Alt + F11” para abrir el editor de VBA.
- Vaya a crear un nuevo módulo haciendo clic en "Normal" en la columna de la izquierda.
- Luego haga clic en la pestaña "Insertar" y seleccione "Módulo" en el menú desplegable.
- 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".
- A continuación, haga clic en "Ejecutar".
- 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.
- Haga clic en Aceptar".
- 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.
- Del mismo modo, haga clic en "Aceptar".
Comprueba el efecto:
Método 2: ordenar en Excel
- En primer lugar, seleccione la tabla en Word y presione "Ctrl + C" para copiarla.
- 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.
- 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.
- A continuación, haga clic derecho y elija "Insertar".
- Habrá una nueva columna antes de la columna C. Coloque el cursor en la segunda celda de la nueva columna.
- Ingrese “= LEN (C2)” en la celda B2. Recuerde reemplazar la "C" por una real.
- A continuación, coloque el cursor en la esquina inferior derecha de la celda B2 hasta que cambie a una cruz.
- 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.
- Ingrese lo que quiera en la celda B1. No lo dejes en blanco.
- Coloque el cursor en cualquier celda de la columna B que tenga un número.
- Vaya a la pestaña "Inicio" y haga clic en "Ordenar y filtrar".
- En el menú desplegable, elija "Ordenar de menor a mayor" o "Ordenar de mayor a menor".
- 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







