Sida loo muujiyo qoraalka/ erayada nuqul ka mid ah unugga Excel

  • La Wadaag Tan
Michael Brown

Tababarku wuxuu muujinayaa sida loo muujiyo ereyada nuqulka ah ama xargaha qoraalka ee unugga dhexdiisa iyadoo la adeegsanayo VBA.

Qaabka Shuruuda ee Excel wuxuu suurtogal ka dhigayaa in lagu muujiyo nuqullada si kasta oo suurtagal ah oo aad uga fikiri karto: leh ama aan lahayn dhacdooyinka 1aad, hal tiir ama tiirar badan, unugyo labanlaab ah oo isku xiga, iyo safaf dhan oo ku salaysan qiyam isku mid ah oo ku jira tiir muhiim ah. Laakiin, sida caadiga ah, waxaa jira "laakiin". Shuruucda qaabaynta shuruudaha waxay ku shaqeeyaan heerka unugga halka laga yaabo inaad rabto inaad muujiso qoraalka nuqul ka mid ah halkii aad ka saari lahayd dhammaan unugyada. Tan waxaa lagu samayn karaa oo keliya makros. Xitaa haddii aadan wax khibrad ah u lahayn VBA, fadlan ha ku degdegin inaad xidho boggan. Halkan, waxaad ka heli doontaa tusaalayaal kood u diyaarsan in la isticmaalo iyo tilmaamo faahfaahsan oo ku saabsan sida loo isticmaalo xaashidaada shaqada 0>Tusaalahani waxa uu tusinayaa sida loo hadheeyo kelmadaha nuqulka ah ama xargaha qoraalka ee unugga dhexdiisa midabka farta cas sida ka muuqata sawirka hoose. Fadlan ogow in xarfaha waaweyn iyo kuwa waaweynba loola dhaqmo sidii xarfo isku mid ah. Tusaale ahaan, orange , ORANGE iyo Orange waxa loo arkaa inay isku eray yihiin

>>>>> koodka macro waa sida soo socota:Hoosaadka DadweynahaDupesCaseInsensitive() Unug yarida sida Range Dim Delimiter As String Delimiter = InputBoxCodsiga.Selection call HighlightDupeWordsInCell(Cell, Delimiter, Been) Dhamaadka Xiga Xiga Hoosad SareDupeWordsInCell(Unugga Sida Range, Xadaynta Ikhtiyaarka Sida Xarigga = "" , Kiiska Ikhtiyaarka ah Sida Boolean = Run ) Qoraal Dim As String Dim Erayada() As String Dim String Dim wordIndex, matchCount, positionInText Sida Integer Hadii CaseSensitive Markaas kelmado = Kala qaybsanaan(Cell.Value, Delimiter) Kalmado kale = Kala qaybsanaan(LCase(Cell.Value), Delimiter) Dhammaad haddi wordIndex = LBound (ereyada) UBound (ereyo) - 1 erey = erayo (wordIndex) matchCount = 0 Wixii nextWordIndex = wordIndex + 1 To UBound (ereyada) Hadday kelmad = kelmado(nextWordIndex) Kadib matchCount = matchCount + 1 Dhammaadka Hadii Xiga nextWordIndex Hadii matchCount > 0 Kadib qoraal = "" Tusmada = LBound (ereyada) UBound (ereyo) qoraal = qoraal & ereyada (Index) Haddii (ereyada (Index) = erey) Markaas Cell.Characters (Len (qoraalka) - Len (erey) + 1, Len (erey)). Xaddeeye Dhamaadka Xiga Hadii kelmad XigaIndex Dhamaadka Sub

Ku iftiimi qoraalka nuqul ka mid ah kiis unug xasaasi ah

Xaaladaha badankooda, waxa aanu u janjeernaa in aanu iska indhotiro kiiska xarafka marka aanu la shaqaynayno qoraalada Excel. Xaalado gaar ah, si kastaba ha ahaatee, kiiska qoraalka ayaa muhiim ah. Tusaale ahaan, haddii aad la macaamilayso aqoonsiyada, ereyada sirta ah, ama diiwaannada kale ee noocaas ah, xargaha sida 1-AA , 1-aa iyo 1-Aa ma aha nuqulo, mana aha in la iftiimiyo:

>Xaaladdan oo kale,Adeegso nooca soo socda ee koodka:Hub-hoosaadka DadweynahaDupesCaseSensitive() Unug yaacsan sida Range Dim Delimiter As String Delimiter = InputBox(" Geli xadaynta kala qaybisa qiyamka unugga" , "Delimiter" , ", " ) Mid kasta Unug dhexdiisa Codsiga word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Markaas kelmado = Kala qaybsanaan(Cell.Value, Delimiter) Kalmado kale = Kala qaybsanaan(LCase(Cell.Value), Delimiter) Dhammaaday haddi ay tahay wordIndex = LBound (ereyada) UBound erayada) - 1 erey = erayada (wordIndex) matchCount = 0 Wixii nextWordIndex = wordIndex + 1 To UBound (ereyada) Hadday kelmado = kelmado(nextWordIndex) Kadib matchCount = matchCount + 1 Dhammaadka Hadii Xiga nextWordIndex Hadii matchCount > 0 Kadib qoraal = "" Tusmada = LBound (ereyada) UBound (ereyo) qoraal = qoraal & ereyada (Index) Haddii (ereyada (Index) = erey) Markaas Cell.Characters (Len (qoraalka) - Len (erey) + 1, Len (erey)). Xaddidaad Dhamaadka Xiga Haddii kelmad XigaIndex End Sub

Sida loo isticmaalo makros-ka si loo muujiyo ereyada nuqul ka mid ah ee Excel

Haddii aad tahay bilawga isticmaalka VBA, tilmaamaha tallaabo-tallaabo ee hoose waxay si raaxo leh kuugu dhex mari doonaan . Isticmaalayaasha khibradda leh ayaa laga yaabaaKaliya qaado isku xirka soo dejinta oo ka bood inta soo hartay :)

>

Ku dar koodka buuggaaga shaqada

> Waxaad ku bilaabaysaa inaad geliso koodka makro ee buuggaaga shaqada ee Excel. Waa kuwan sida:>
    > Fur buugga shaqada meesha aad rabto inaad ku muujiso khaladaadka. >
  1. Riix Alt + F11 si aad u furto Visual Basic Editor.
  2. Shaqada bidix, midig-guji Buugga-Shaqada oo dooro Geli > Module ka dooro macnaha guud
  3. >Ku dheji koodka daaqadda Code.
  4. Si aad u ilaaliso makro si aad mustaqbalka u isticmaasho, hubi inaad u kaydiso buugaaga shaqada sidii faylka .xlsm macro-enabled.

Beddel ahaan, waxaad soo dejisan kartaa buug-shaqeedka muunada oo aad halkaa ka socodsiin kartaa makro-ga. Buuga shaqada muunada waxa uu ka kooban yahay macros:

>>
  • >HighlightDupesCaseInsensitive - hadhku ku koobab unug dhexdiisa isaga oo iska indha tiraya kiiska xarafka.
  • > 13> Dupes in unug iyadoo la tixgelinayo kiiska xarafka > > Wixii macluumaad dheeraad ah, fadlan eeg sida loo geliyo code VBA gudaha Excel.

    Ku socodsii makro

    > Iyada oo koodhka oo lagugu daro buug-shaqeedkaaga ama faylkayaga muunada ah ee la soo dejiyey oo fur, u socodsii makro sidatan: >> 13> Xaashiyaha shaqada, dooro unugyada meesha aad rabto inaad ku muujiso qoraalka nuqul ka mid ah. Tani waxay noqon kartaa hal saf ama tiro badan oo aan ku dhowayn. >
  • Riix Alt + F8
  • >
  • Makrosku wuxuu ku weydiin doonaa inaad caddeyso xadeeyahataas oo kala saarta qiyamka unugyada la doortay. Xadaynta horay loo dhigay (comma iyo meel bannaan oo kiiskeena ah) ayaa si toos ah uga soo muuqan doona sanduuqa wax gelinta. Iyada oo ku xidhan baahiyahaaga, waxaad ka tagi kartaa xadeeyaha caadiga ah ama waxaad ku qori kartaa mid ka duwan, ka dibna dhagsii OK.

  • > 15>

    Daqiiqad ka dib, dhammaan xadhkaha nuqul ka mid ah kuwa la doortay unugyadu waxa ay ahaan doonaan hadh midab cas ah (ama midab kasta oo farta lagu dejiyay koodka)

    > Talo. Si aad dhaqso ka saarto nuqullada gudaha unugga, waxaad isticmaali kartaa Saar nuqul-hoosaadyada, mid ka mid ah aaladaha bad-baadinta badan ee ku jira Ultimate Suite.

    Sida loo habeeyo koodka baahiyahaaga

    0>Xusuusyadan isticmaalka iyo aqoonta aasaasiga ah ee VBA (ama si dhow u raacaya tilmaamaha hoose), waxaad si fudud u beddeli kartaa koodhadhka si sax ah oo waafaqsan baahiyahaaga. >Ku dhig isla cutubka

    Sida aad ogaan karto, labada macros ( HighlightDupesCaseSensitive iyo HighlightDupesCaseInsensitive ) wac HighlightDupeWordsInCell function. Farqiga u dhexeeya labada macros ee kor ku xusan waa kaliya halbeegga 3aad (CaseSensitive) ee loo gudbiyay shaqada la sheegay.

    Baadi goob kiis xasaasi ah, waxa loo dejiyay RUN:

    > Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    Cilmi-raadinta kiis-la'aanta, waxa loo dejiyay BEEN:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    Si macrosku u shaqeeyo, koodka HighlightDupeWordsInCell shaqada waa in lagu dhejiyaa module la mid ah sidamacros.

    Delimiter

    Marka orod, makro ayaa ku waydiin doona inaad qeexdo xadeeyaha kala saaraya erayada/xadhkaha unugyada la doortay. Xadka caadiga ah waa comma iyo meel bannaan (", ") waxaana lagu sii dejiyey InputBox:

    Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")

    Koodhkaaga, waxaad xor u tahay inaad isticmaasho xarfo kasta oo kale Sida xadaynta hore loo sii qeexay.

    > Midabka >

    Dhaqan ahaan, HighlightDupeWordsInCell hadhka shaqadu waxay nuqul ka yihiin midabka farta cas. Midabka waxaa lagu qeexay xariiqan:

    Cell.Characters(positionInText, Len(word)).Font.Color = vbRed

    Halkan, vbRed waa nooc ka mid ah VBA midabka joogtada ah. Si aad u muujiso dupes midab kale leh, waxaad ku beddeli kartaa vbRed mid kale oo joogto ah sida vbGreen, vbYellow, vbBlue, iwm. T liiska midabada joogtada ah ee la taageeray ayaa laga heli karaa halkan.

    >Taasi waa sida loo muujiyo ereyada nuqul ka mid ah unugyada Excel. Waxaan kaaga mahadcelinayaa inaad akhriday waxaanan rajeynayaa inaan kugu arko blog-keena usbuuca soo socda!

    la soo dajin karo

    Code Tusaalooyinka si loo muujiyo nuqul ka mid ah unugga (.xlsm file)

    Ultimate 14-maalmood nooca si buuxda u shaqaynaya (.exe file)

    Michael Brown waa xamaasad tignoolajiyada u heellan oo xiise u leh fududaynta hababka adag iyadoo la adeegsanayo aaladaha software. In ka badan toban sano oo waayo-aragnimo ah oo ku saabsan warshadaha teknoolajiyada, wuxuu ku horumariyay xirfadihiisa Microsoft Excel iyo Outlook, iyo sidoo kale Google Sheets iyo Docs. Blog-ga Michael wuxuu u heellan yahay inuu la wadaago aqoontiisa iyo khibradiisa dadka kale, isagoo siinaya tabo-fudud oo la raaco iyo casharro lagu horumarinayo wax soo saarka iyo hufnaanta. Haddii aad tahay xirfadle khibrad leh ama bilow ah, Michael's blog wuxuu bixiyaa fikrado qiimo leh iyo talooyin wax ku ool ah si aad uga faa'iidaysato qalabkan software-ka ah ee muhiimka ah.