Ushbu postda biz sizga Word hujjatidagi ro'yxatdagi ism va familiya tartibini ommaviy ravishda o'zgartirish usulini ko'rsatib berishdan mamnunmiz.
Inglizcha ism ism, otasining ismi va familiyasini o'z ichiga oladi. Va u xuddi shunday tartibda yozilgan. Globallashuv natijasida madaniyatning turli mintaqalaridagi odamlar bir-birlari bilan har qachongidan ham tez-tez almashadilar. Binobarin, bugungi kunda ko'plab xalqaro anjumanlar o'tkazilmoqda. Boshqa tildagi ismlar esa boshqacha tartibda bo‘ladi. Shuning uchun, ro'yxatdagi ism va familiya tartibini o'zgartirish kerak bo'lgan holatlar mavjud. Gap shundaki, biz buni qanday qilib to'plamda qilishimiz mumkin.
Aslida, buni Word-da makro yordamida amalga oshirishingiz mumkin. Quyidagi ko'rsatmalarimizga amal qiling.
Ro'yxatdagi ism va familiya tartibini o'zgartiring
- Avvalo, Word dasturida bir nechta qatorlardan iborat 2 ustunli jadval yarating.
- Birinchi ustunda ketma-ketlikni o'zgartirishi kerak bo'lgan nomlarni kiriting. Ismlardan keyin bo'sh joy kiritmaslikdan ehtiyot bo'ling.
- Ikkinchi ustunni bo'sh qoldiring.
- Shundan so'ng, "Tuzuvchi" yorlig'ini bosing va VBA muharririni ishga tushirish uchun "Visual Basic" tugmasini bosing. Agar "Tuzuvchi" yorlig'i mavjud bo'lmasa, uning o'rniga "Alt + F11" tugmasini bosing.
- Endi chap ustundagi "Oddiy" tugmasini bosib yangi modul yarating.
- Keyin "Qo'shish" yorlig'ini bosing va ochiladigan menyuda "Modul" ni tanlang.
- Keyin uni ochish uchun yangi modulni ikki marta bosing.
- Va u erga quyidagi kodlarni joylashtiring:
Sub ExchangeNameOrder()
Dim strOriginalName As String, strNewName As String
Dim aryOriginalName() As String
Dim nIndex As Integer
Dim objTable As Table
Dim objOriginalName As Cell
Dim objOriginalNameRange As Range
Dim objExchangedNameRange As Range
Dim nRowNumber As Integer
Set objTable = ActiveDocument.Tables(1)
nRowNumber = 1
' Traversing the names in column 1
For Each objOriginalName In objTable.Columns(1).Cells
Set objOriginalNameRange = objOriginalName.Range
objOriginalNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
Set objExchangedNameRange = objTable.Cell(i, 2).Range
objExchangedNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
strOriginalName = objOriginalNameRange.Text
aryOriginalName() = Split(strOriginalName, " ")
' Exchange the order of first name and last name, and put the new name in column 2.
If UBound(aryOriginalName) > 0 Then
strNewName = aryOriginalName(UBound(aryOriginalName))
For nIndex = 1 To UBound(aryOriginalName) - 1
strNewName = strNewName & " " & aryOriginalName(nIndex)
Next nIndex
strNewName = strNewName & " " & aryOriginalName(0)
objExchangedNameRange.InsertAfter (strNewName)
Else
objExchangedNameRange.InsertAfter (strOriginalName)
End If
nRowNumber = nRowNumber + 1
Next objOriginalName
MsgBox ("The first name and last name have been exchanged the order in column2.")
End Sub
- Nihoyat, "Ishga tushirish" tugmasini bosing.
Endi siz almashish tugallanganligi haqida xabar qutisini olasiz. Ikkinchi ustunda nomlarni yangi tartibda ko'rishingiz mumkin. Quyidagi natijani tekshiring:
Ma'lumotlarni qaytarib olish bo'yicha so'nggi umidingiz
Muqarrar ravishda biz Word bilan bog'liq muammolarga duch kelamiz. Qanchalik achinarli bo'lsa ham, bu haqiqat. Ammo shuni yodda tutishingiz kerakki, Word-da har doim qulash sodir bo'lganda, biz har doim qila oladigan narsalar mavjud. Avval o'rnatilgan vositani sinab ko'ring buzuq so'z. Agar bu yordam bermasa, bu har doim ham shunday bo'lsa, umidingizni ilg'or ta'mirlash mahsulotiga bog'lashingiz mumkin.
Muallif kirish:
Vera Chen - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc xlsx-ni tiklash va pdf dasturiy mahsulotlarni ta'mirlash. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com




