No artigo de hoje, mostraremos 2 maneiras inteligentes de classificar uma coluna de textos por tamanho no Word.
Existem várias maneiras de classificar uma coluna de textos ou números em uma tabela. Mas, você já pensou em ordenar uma coluna de textos por tamanho? Nesse caso, o layout do documento ficará mais claro e fácil de ler.
No entanto, não há uma maneira direta no Word para classificarmos essa regra. Portanto, temos que procurar soluções alternativas para resolver o problema.
Método 1: Use o Word VBA
Por exemplo, digamos que temos uma tabela conforme abaixo:
- Em primeiro lugar, no Word, pressione “Alt + F11” para abrir o editor VBA.
- Vá para criar um novo módulo clicando em “Normal” na coluna da esquerda.
- Em seguida, clique na guia “Inserir” e escolha “Módulo” no menu suspenso.
- Em seguida, clique duas vezes no módulo para abri-lo e cole a macro abaixo:
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
Observação:
Se sua tabela não contiver nenhuma linha de cabeçalho, você precisará alterar a seguinte linha de código:
Selection.Sort ExcludeHeader:=True
Substitua “Verdadeiro” por “Falso”.
- A seguir clique em “Executar”.
- Em seguida, na primeira caixa aberta, insira o número da coluna de destino, como "2" para a segunda coluna.
- Clique OK".
- Na segunda caixa, insira um número para especificar uma regra de classificação. “0” representa a classificação em ordem crescente, “1” em ordem decrescente.
- Da mesma forma, clique em “OK”.
Confira o efeito:
Método 2: classificar no Excel
- Primeiramente, selecione a tabela no Word e pressione “Ctrl+C” para copiá-la.
- Em seguida, abra o Excel e cole-o pressionando “Ctrl + V”. Agora, se sua tabela não tiver linha de cabeçalho, cole a tabela na célula A2.
- Em seguida, clique na letra da coluna. Por exemplo, digamos que a coluna C seja a coluna desejada. Você verá o total da coluna selecionado.
- Em seguida, clique com o botão direito e escolha “Inserir”.
- Haverá uma nova coluna antes da coluna C. Posicione o cursor na segunda célula da nova coluna.
- Digite “=LEN(C2)” na célula B2. Lembre-se de substituir o “C” por um real.
- Em seguida, coloque o cursor no canto inferior direito da célula B2 até que mude para uma cruz.
- Agora clique duas vezes. Você verá a nova coluna preenchida com números. Estes são números de caracteres para os textos na coluna C.
- Digite o que quiser na célula B1. Só não deixe em branco.
- Coloque o cursor em qualquer célula na coluna B que tenha um número.
- Vá para a guia "Página inicial" e clique em "Classificar e filtrar".
- No menu suspenso, escolha “Classificar do menor para o maior” ou “Classificar do maior para o menor”.
- Por fim, selecione a coluna recém-inserida e clique com o botão direito do mouse para escolher “Excluir”. E cole a tabela de volta no documento do Word.
Reparar Documentos Corrompidos
Você acredita que seus documentos armazenados em computadores estão seguros? Mesmo que você proteja seu computador contra ataques, ainda existe a possibilidade de perder documentos. Portanto, lembre-se de que seus arquivos podem não estar totalmente seguros. Consequentemente, busque um plano de segurança. recuperação docx ferramenta com antecedência seria uma boa escolha.
Introdução do autor:
Vera Chen é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo xls danificados e pdf reparar produtos de software. Para mais informações visite www.datanumen.com







