Excel hüceyrəsində dublikat mətni / sözləri necə vurğulamaq olar

  • Bunu Paylaş
Michael Brown

Təlimat VBA-dan istifadə edərək xana daxilində dublikat sözləri və ya mətn sətirlərini necə vurğulamağı göstərir.

Excel Şərti Formatlaşdırma ağlınıza gələn hər cür şəkildə dublikatları vurğulamağa imkan verir: bir sütunda və ya bir neçə sütunda, ardıcıl dublikat xanalar və əsas sütunda eyni dəyərlərə əsaslanan bütöv sətirlərdə 1-ci hallar olan və ya olmayan. Ancaq həmişə olduğu kimi, bir "amma" var. Şərti formatlaşdırma qaydaları xana səviyyəsində işləyir, siz isə bütün xanaları deyil, dublikat mətni vurğulamaq istəyə bilərsiniz. Bu, yalnız makrolarla edilə bilər. VBA ilə heç bir təcrübəniz olmasa belə, lütfən, bu səhifəni bağlamağa tələsməyin. Burada istifadəyə hazır kod nümunələri və onlardan iş vərəqlərində necə istifadə olunacağına dair ətraflı təlimatlar tapa bilərsiniz.

    Mətn registrinə məhəl qoymadan xanada təkrarlanan sözləri vurğulayın

    Bu nümunə, aşağıdakı şəkildə göstərildiyi kimi qırmızı şrift rəngində xana daxilində təkrarlanan sözləri və ya mətn sətirlərini necə kölgə salmağı göstərir. Diqqət yetirin ki, kiçik və böyük hərflər eyni simvol kimi qəbul edilir. Məsələn, narıncı , NORUNJAL Narıncı eyni söz sayılır.

    makronun kodu aşağıdakı kimidir:

    Ümumi Alt HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As Sring Delimiter = InputBox( "Xonadakı dəyərləri ayıran ayırıcını daxil edin" , "Hüdudsuz" , ", " ) Hər Bir Xana üçünTətbiq.Seçim Zəngi HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub Sub HighlightDupeWordsInCell(Xüceyrə diapazon kimi, Könüllü Ayrıcı sətir kimi = " " , Könüllü Rejissor Boolean = Doğrudur ) Mətn Sətir kimi Dim sözlər() Sətir kimi Dim String Dim wordIndex, matchCount, positionInText As Integer If Case Sensitive Sonra sözlər = Split(Cell.Value, Delimiter) Başqa sözlər = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (sözlər) to UBound (sözlər) - 1 söz = sözlər(wordIndex) matchCount = 0 NextWordIndex üçün = wordIndex + 1 UBound (sözlər) Əgər söz = sözlər(nextWordIndex) Əgər matchCount = matchCount + 1 End If Next NextWordIndex If matchCount > 0 Sonra mətn = "" İndeks üçün = LBound (sözlər) UBound (sözlər) üçün mətn = mətn & sözlər(İndeks) Əgər (sözlər(İndex) = söz) Onda Cell.Characters(Len(mətn) - Len(word) + 1, Len(word)).Font.Color = vbRed End Əgər mətn = mətn & Ayırıcı Next End If Next wordIndex End Sub

    Xüceyrədəki dublikat mətni böyük hərflərə həssaslıqla vurğulayın

    Əksər hallarda Excel-də mətn daxiletmələri ilə işləyərkən hərf hərfinə məhəl qoymuruq. Müəyyən şəraitdə, lakin mətn işi əhəmiyyət kəsb edir. Məsələn, əgər siz ID-lər, parollar və ya bu cür digər qeydlərlə məşğul olursunuzsa, 1-AA , 1-aa 1-Aa dublikat deyil və vurğulanmamalıdır:

    Bu halda,kodun aşağıdakı versiyasını istifadə edin:

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Xonada dəyərləri ayıran ayırıcı daxil edin" , "Delimiter" , ", " ) Hər biri üçün Tətbiqdə olan xana.Seçimdə Zəng edin HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub Sub HighlightDupeWordsInCell(Xüceyrə diapazon kimi, Könüllü Ayırıcı sətir = " " , Könüllü Rejissor Boolean = Doğrudur ) Sətir kimi Dim mətn Dim kimi Dim sözlər() word As String Dim wordIndex, matchCount, positionInText As Integer Əgər Case Sensitive Onda sözlər = Split(Cell.Value, Delimiter) Başqa sözlər = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (sözlər) to UBound ( sözlər) - 1 söz = sözlər(wordIndex) matchCount = 0 NextWordIndex üçün = wordIndex + 1 UBound (sözlər) Əgər söz = sözlər(nextWordIndex) Əgər matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Sonra mətn = "" İndeks üçün = LBound (sözlər) UBound (sözlər) üçün mətn = mətn & sözlər(İndeks) Əgər (sözlər(İndex) = söz) Onda Cell.Characters(Len(mətn) - Len(word) + 1, Len(word)).Font.Color = vbRed End Əgər mətn = mətn & Delimiter Next End If Next wordIndex End Sub

    Excel-də dublikat sözləri vurğulamaq üçün makrolardan necə istifadə etməli

    Əgər siz VBA-dan istifadə etməyə yeni başlayansınızsa, aşağıdakı addım-addım təlimatlar sizə rahatlıqla keçəcək . Təcrübəli istifadəçilər edə bilərsadəcə yükləmə linkini seçin və qalanını keçin :)

    Kodu iş dəftərinizə əlavə edin

    Siz Excel iş kitabına makronun kodunu daxil etməklə başlayırsınız. Budur:

    1. Döymələri vurğulamaq istədiyiniz yerdə iş kitabını açın.
    2. Visual Basic Redaktorunu açmaq üçün Alt + F11 düymələrini basın.
    3. Sol paneldə, ThisWorkbook üzərinə sağ klikləyin və kontekst menyusundan Insert > Module seçin.
    4. Kodu Kod pəncərəsinə yapışdırın.
    5. Makronu gələcəkdə istifadə etmək üçün saxlamaq üçün iş kitabınızı makro-aktiv .xlsm faylı kimi yadda saxladığınızdan əmin olun.

    Alternativ olaraq, nümunə iş dəftərimizi yükləyə və oradan makronu işə sala bilərsiniz. Nümunə iş kitabında aşağıdakı makrolar var:

    • HighlightDupesCaseInsensitive - hərf registrinə məhəl qoymadan xana daxilində dublikatları kölgə salır.
    • HighlightDupesCaseSensitive - vurğulayır hərf halını nəzərə alaraq xanada dupes.

    Ətraflı məlumat üçün Excel-də VBA kodunu necə daxil etmək olar bölməsinə baxın.

    Makronu işə salın

    Kodla öz iş dəftərinizə və ya yüklənmiş nümunə faylımıza əlavə olunduqda, makronu bu şəkildə işlədin:

    1. İş vərəqinizdə dublikat mətni vurğulamaq istədiyiniz xanaları seçin. Bu, bir diapazon və ya bir neçə qonşu olmayan diapazon ola bilər.
    2. Alt + F8 düymələrini basın.
    3. Maraqlanan makronu seçin və Çalışdır üzərinə klikləyin.

    4. Makro sizdən ayırıcını təyin etməyi xahiş edəcəkseçilmiş xanalardakı dəyərləri ayıran. Əvvəlcədən təyin edilmiş ayırıcı (bizim vəziyyətimizdə vergül və boşluq) avtomatik olaraq giriş qutusunda görünəcək. Ehtiyaclarınızdan asılı olaraq, siz defolt ayırıcını tərk edə və ya başqasını daxil edə, sonra OK düyməsini klikləyə bilərsiniz.

    Bir az sonra seçilmiş sətirdəki bütün dublikat sətirlər xanalar qırmızı rənglə kölgələnəcək (və ya kodunuzda hər hansı şrift rəngi təyin olunub).

    İpucu. Hüceyrə daxilində dublikatları sürətlə silmək üçün Ultimate Suite-ə daxil olan çox vaxta qənaət edən vasitələrdən biri olan Dublikat Alt Sətirləri Sil funksiyasından istifadə edə bilərsiniz.

    Kodu ehtiyaclarınıza uyğunlaşdırmaq üçün

    Bu istifadə qeydləri və VBA-nın ən əsas bilikləri ilə (yaxud aşağıda göstərilən təlimatları diqqətlə izləməklə) siz kodları ehtiyaclarınıza uyğun olaraq asanlıqla dəyişdirə bilərsiniz.

    Eyni modulda yerləşdirin

    Diqqət etdiyiniz kimi, hər iki makro ( HighlightDupesCaseSensitive HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell funksiyasını çağırır. Yuxarıdakı iki makros arasındakı fərq yalnız sözügedən funksiyaya ötürülən 3-cü parametrdə (Casesensitive) var.

    Həssas axtarış üçün TRUE olaraq təyin edilib:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    Hərf hərfinə həssas olmayan axtarış üçün o, YANLIŞ olaraq təyin edilib:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    Makroların işləməsi üçün HighlightDupeWordsInCell funksiyasının kodu üzərinə yerləşdirilməlidir. ilə eyni modulmakrolar.

    Delimiter

    İşlətdikdə, makro sizdən seçilmiş xanalarda sözləri/sətirləri ayıran ayırıcı təyin etməyinizi xahiş edəcək. Defolt ayırıcı vergül və boşluqdur (", ") və o, InputBox-da əvvəlcədən təyin edilmişdir:

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

    Kodunuzda hər hansı digər simvol(lar)dan istifadə edə bilərsiniz. əvvəlcədən təyin edilmiş ayırıcı kimi.

    Rəng

    Defolt olaraq, HighlightDupeWordsInCell funksiya çalarları qırmızı şrift rəngində təkrarlanır. Rəng bu sətirdə müəyyən edilmişdir:

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

    Burada vbRed bir növ VBA rəng sabitidir. Dupeləri fərqli rəngdə göstərmək üçün vbRed-i vbGreen, vbYellow, vbBlue və s. kimi başqa bir sabitlə əvəz edə bilərsiniz. T dəstəklənən rəng sabitlərinin siyahısını burada tapa bilərsiniz.

    Budur Excel xanalarında dublikat sözləri necə vurğulamaq olar. Oxuduğunuz üçün sizə təşəkkür edirəm və sizi gələn həftə bloqumuzda görməyə ümid edirəm!

    Mövcud endirmələr

    Xüceyrədəki dublikatları vurğulamaq üçün kod nümunələri (.xlsm faylı)

    Ultimate Suite 14 günlük tam funksional versiya (.exe faylı)

    Michael Brown proqram alətlərindən istifadə edərək mürəkkəb prosesləri sadələşdirməyə həvəsi olan xüsusi texnologiya həvəskarıdır. Texnologiya sənayesində on ildən artıq təcrübəyə malik olmaqla, o, Microsoft Excel və Outlook, həmçinin Google Cədvəl və Sənədlərdə bacarıqlarını mükəmməlləşdirib. Mayklın bloqu öz biliyini və təcrübəsini başqaları ilə bölüşməyə, məhsuldarlığı və səmərəliliyi artırmaq üçün asan izlənilən məsləhətlər və dərslikləri təqdim etməyə həsr olunub. İstər təcrübəli peşəkar, istərsə də yeni başlayan biri olmağınızdan asılı olmayaraq, Mayklın bloqu bu vacib proqram alətlərindən maksimum yararlanmaq üçün dəyərli fikirlər və praktiki məsləhətlər təklif edir.