Kā izcelt dublējošu tekstu / vārdus Excel šūnā

  • Dalīties Ar Šo
Michael Brown

Šajā pamācībā ir parādīts, kā, izmantojot VBA, izcelt divkāršus vārdus vai teksta virknes šūnā.

Excel Nosacītais formatējums ļauj izcelt dublējošos elementus visos iespējamos veidos, par kuriem varat iedomāties: ar vai bez 1. atkārtojuma, vienā slejā vai vairākās slejās, secīgi dublētās šūnās un veselās rindās, pamatojoties uz vienādām vērtībām galvenajā slejā. Bet, kā parasti, ir "bet". Nosacītā formatējuma noteikumi darbojas šūnu līmenī, bet jūs, iespējams, vēlaties izcelt dublējošos elementus.tekstu, nevis veselas šūnas. To var izdarīt tikai ar makru palīdzību. Pat ja jums nav pieredzes VBA izmantošanā, nesteidzieties aizvērt šo lapu. Šeit jūs atradīsiet gatavus kodu piemērus un detalizētus norādījumus, kā tos izmantot darblapās.

    Izcelt divkāršus vārdus šūnā, ignorējot teksta gadījumu

    Šajā piemērā parādīts, kā šūnā dublētos vārdus vai teksta virknes iekrāsot sarkanā fonta krāsā, kā parādīts attēlā turpmāk. Lūdzu, ņemiet vērā, ka mazie un lielie burti tiek uzskatīti par vienādām rakstzīmēm. Piemēram, apelsīnu , ORANGE un Orange tiek uzskatīti par vienu un to pašu vārdu.

    Makro kods ir šāds:

    Public Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Ievadiet norobežotāju, kas atdala vērtības šūnā" , "Delimiter" , ", " ) For Each Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive AsBoolean = True ) Dim text As String Dim words() As String Dim word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Then words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (words) To UBound (words) - 1 word = words(wordIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound (words) If word =words(nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount> 0 Then text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub

    Teksta dublikātu izcelšana šūnā, ņemot vērā mazos un lielos burtus

    Vairumā gadījumu, strādājot ar teksta ierakstiem programmā Excel, mēs parasti ignorējam burtu burtu lielumu. Tomēr noteiktos apstākļos teksta burtu lielumam ir nozīme. Piemēram, ja strādājat ar identifikatoriem, parolēm vai citiem šāda veida ierakstiem, virknes, piem. 1-AA , 1-aa un 1-Aa nav dublikāti, un tos nevajadzētu izcelt:

    Šajā gadījumā izmantojiet šādu koda versiju:

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Ievadiet norobežotāju, kas atdala vērtības šūnā" , "Delimiter" , ", " ) For Each Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive AsBoolean = True ) Dim text As String Dim words() As String Dim word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Then words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (words) To UBound (words) - 1 word = words(wordIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound (words) If word =words(nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount> 0 Then text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub

    Kā izmantot makroorganismus, lai izceltu dublējošos vārdus programmā Excel

    Ja esat iesācējs VBA izmantošanā, turpmāk sniegtie soli pa solim aprakstošie norādījumi palīdzēs jums ērti iziet cauri. Pieredzējuši lietotāji var vienkārši izvēlēties lejupielādes saiti un pārējo izlaist :)

    Pievienojiet kodu darbgrāmatā

    Sākiet ar makrokopas koda ievietošanu Excel darbgrāmatā. Lūk, kā to izdarīt:

    1. Atveriet darbgrāmatu, kurā vēlaties izcelt dublikātus.
    2. Nospiediet Alt + F11, lai atvērtu Visual Basic redaktoru.
    3. Kreisajā logā ar peles labo pogu noklikšķiniet uz Šīdarbgrāmata un izvēlieties Ievietot > Modulis no konteksta izvēlnes.
    4. Ievietojiet kodu logā Kods.
    5. Lai saglabātu makrogrammu turpmākai lietošanai, noteikti saglabājiet darbgrāmatu kā .xlsm failu, kurā iespējota makro programma.

    Varat arī lejupielādēt mūsu parauga darbgrāmatu un palaist makro no tās. Parauga darbgrāmatā ir šādi makro:

    • HighlightDupesCaseInsensitive - ēnas dublikātus šūnā, neņemot vērā burtu lielumu.
    • HighlightDupesCaseSensitive - izceļ divkāršošanos šūnā, ņemot vērā burtu lielumu.

    Lai uzzinātu vairāk, skatiet sadaļu Kā ievietot VBA kodu programmā Excel.

    Palaist makro

    Kad kods ir pievienots jūsu darbgrāmatā vai mūsu parauga fails ir lejupielādēts un atvērts, palaidiet makro šādā veidā:

    1. Darba lapā atlasiet šūnas, kurās vēlaties izcelt dublējošo tekstu. Tas var būt viens diapazons vai vairāki nesaderīgi diapazoni.
    2. Nospiediet Alt + F8 .
    3. Izvēlieties interesējošo makro un noklikšķiniet uz Palaist .

    4. Makro palūgs norādīt norobežotāju, kas nošķir vērtības atlasītajās šūnās. Ievades lodziņā automātiski parādīsies iepriekš iestatītais norobežotājs (mūsu gadījumā - komats un atstarpe). Atkarībā no vajadzībām varat atstāt noklusējuma norobežotāju vai ievadīt citu norobežotāju un pēc tam noklikšķiniet uz Labi.

    Pēc brīža visas divkāršās virknes atlasītajās šūnās tiks iekrāsotas sarkanā krāsā (vai jebkurā jūsu kodā iestatītajā fonta krāsā).

    Padoms. Lai ātri dzēst dublikātus šūnā, varat izmantot dublējošu apakšvirsrakstu noņemšanu, kas ir viens no daudzajiem rīkiem, kuri ir iekļauti mūsu komplektā Ultimate Suite un ļauj ietaupīt laiku.

    Kā pielāgot kodu savām vajadzībām

    Izmantojot šīs lietošanas piezīmes un ļoti vienkāršas zināšanas par VBA (vai vienkārši rūpīgi sekojot tālāk sniegtajiem norādījumiem), jūs varat viegli modificēt kodus, lai tie atbilstu jūsu vajadzībām.

    Vieta tajā pašā modulī

    Kā jau pamanījāt, abi makroīkli ( HighlightDupesCaseSensitive un HighlightDupesCaseInsensitive ) izsaukt HighlightDupeWordsInCell Atšķirība starp abām iepriekš minētajām funkcijām ir tikai 3. parametrā (CaseSensitive), kas tiek nodots minētajai funkcijai.

    Lietošanai, ja meklēšanā tiek ņemta vērā mazo un lielo burtu un atbilstu lielajiem burtiem, ir iestatīts uz TRUE:

    Izsaukt HighlightDupeWordsInCell(Cell, Delimiter, True)

    Meklēšanai, kurā neizšķir lieli un mazi burti, ir iestatīts uz FALSE:

    Izsaukt HighlightDupeWordsInCell(šūna, Delimiter, False)

    Lai makroprocesori darbotos, ir nepieciešams, lai kods HighlightDupeWordsInCell funkcija jānovieto tajā pašā modulī, kurā ir makro.

    Atdalītājs

    Kad makro tiek palaists, tiek pieprasīts norādīt norobežotāju, kas atdalīs vārdus/rinķus izvēlētajās šūnās. Noklusējuma norobežotājs ir komats un atstarpe (", "), un tas ir iepriekš iestatīts ievades lodziņā:

    Delimiter = InputBox("Norādiet norobežotāju, kas atdala vērtības šūnā", "Delimiter", ", ")

    Savā kodā kā iepriekš definēto norobežotāju varat brīvi izmantot jebkuru citu(-as) rakstzīmi(-es).

    Krāsa

    Pēc noklusējuma HighlightDupeWordsInCell funkcija dubultos attēlus iekrāso sarkanā fonta krāsā. Krāsa ir definēta šajā rindā:

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

    Šajā gadījumā vbRed ir sava veida VBA krāsu konstante. Lai dublētos attēlus attēlotu citā krāsā, vbRed var aizstāt ar citu konstanti, piemēram, vbGreen vai vbYellow, vbBlue u. c. T abalstāmo krāsu konstantu sarakstu var atrast šeit.

    Lūk, kā Excel šūnās izcelt dublējošos vārdus. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!

    Pieejamās lejupielādes

    Koda piemēri, lai izceltu dublikātus šūnā (.xlsm fails)

    Ultimate Suite 14 dienu pilnībā funkcionāla versija (.exe fails)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.