Bugungi maqolada biz sizga Word-dagi matnlar ustunini uzunligi bo'yicha saralashning ikkita aqlli usulini ko'rsatamiz.
Jadvaldagi matnlar yoki raqamlar ustunini saralashning bir necha usullari mavjud. Biroq, matnlar ustunini uzunligi bo'yicha saralash haqida hech o'ylab ko'rganmisiz? Bunday holda, hujjatning joylashuvi aniqroq va o'qish uchun qulay bo'ladi.
Biroq, Wordda bu qoida bo'yicha tartiblashimiz uchun to'g'ridan-to'g'ri yo'l yo'q. Shuning uchun biz muammoni hal qilish uchun vaqtinchalik echimlarni izlashimiz kerak.
1-usul: Word VBA dasturidan foydalaning
Masalan, bizda quyidagi jadval mavjud deylik:
- Avvalo, Word dasturida VBA muharririni ishga tushirish uchun "Alt + F11" tugmalarini bosing.
- Chap ustundagi "Oddiy" tugmasini bosish orqali yangi modul yaratishga o'ting.
- Keyin "Qo'shish" yorlig'ini bosing va ochiladigan menyuda "Modul" ni tanlang.
- Keyin modulni ochish uchun uni ikki marta bosing va u erga quyidagi makroni joylashtiring:
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
Eslatma:
Agar jadvalingizda sarlavha qatori bo'lmasa, quyidagi kod qatorini o'zgartirishingiz kerak bo'ladi:
Selection.Sort ExcludeHeader:=True
"To'g'ri" ni "False" bilan almashtiring.
- Keyin "Ishga tushirish" tugmasini bosing.
- Keyin ochilgan birinchi katakchaga maqsadli ustunning ustun raqamini kiriting, masalan, ikkinchi ustun uchun “2”.
- "OK" tugmasini bosing.
- Ikkinchi qatorga tartiblash qoidasini belgilash uchun raqamni kiriting. “0” ko‘tarilish bo‘yicha, “1” esa pasayish bo‘yicha tartiblashni bildiradi.
- Xuddi shunday, "OK" tugmasini bosing.
Effektni tekshiring:
2-usul: Excelda tartiblash
- Birinchidan, Word dasturida jadvalni tanlang va uni nusxalash uchun "Ctrl + C" tugmasini bosing.
- Keyin Excel-ni oching va "Ctrl + V" tugmachalarini bosib uni joylashtiring. Endi agar jadvalingizda sarlavha qatori bo'lmasa, jadvalni A2 katakka joylashtiring.
- Keyin ustunning ustun harfini bosing. Masalan, C ustuni maqsadli ustun deylik. Tanlangan ustunning umumiy sonini ko'rasiz.
- Keyingi o'ng tugmasini bosing va "Qo'shish" ni tanlang.
- C ustunidan oldin yangi ustun bo'ladi. Kursorni yangi ustunning ikkinchi katagiga joylashtiring.
- B2 katakchasiga “=LEN(C2)” kiriting. "C" ni haqiqiy bilan almashtirishni unutmang.
- Keyin kursorni B2 katakchasining o'ng-past burchagiga qo'ying, shunda u xochga o'zgaradi.
- Endi ikki marta bosing. Siz raqamlar bilan to'ldirilgan yangi ustunni ko'rasiz. Bular C ustunidagi matnlar uchun belgilar soni.
- B1 katakka o'zingizga yoqqan narsani kiriting. Faqat bo'sh qoldirmang.
- Kursorni B ustunidagi raqam bo'lgan istalgan katakka qo'ying.
- "Uy" yorlig'iga o'ting va "Tartiblash va filtrlash" tugmasini bosing.
- Ochilgan menyuda "Kichikdan kattaga saralash" yoki "Kattadan eng kichigiga saralash" ni tanlang.
- Nihoyat, yangi kiritilgan ustunni tanlang va "O'chirish" ni tanlash uchun o'ng tugmasini bosing. Va jadvalni Word hujjatiga qayta joylashtiring.
Buzuq hujjatlarni tuzatish
Kompyuterlarda saqlangan hujjatlaringiz xavfsiz deb hisoblaysizmi? Hatto siz ham kompyuteringizni hujumlardan himoya qila olasiz. Hujjatlarning yo'qolishi ehtimoli hali ham mavjud. Shuning uchun faylingiz to'liq xavfsiz bo'lmasligi mumkinligini yodda tuting. Natijada, ... ni oling. docx-ni tiklash oldindan vosita yaxshi tanlov bo'ladi.
Muallif kirish:
Vera Chen - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc shikastlangan xls va pdf dasturiy mahsulotlarni ta'mirlash. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com







