Excel нүдэнд давхардсан текст / үгийг хэрхэн тодруулах вэ

  • Үүнийг Хуваалц
Michael Brown

Заавар нь VBA-г ашиглан нүдэн доторх давхардсан үг эсвэл текстийн мөрийг хэрхэн тодруулахыг харуулж байна.

Excel-ийн нөхцөлт формат нь таны бодож болох бүх арга замаар давхардсан үгсийг тодруулах боломжийг олгодог: 1-р тохиолдолтой эсвэл үгүй, нэг баганад эсвэл олон баганад, дараалсан давхардсан нүднүүд болон гол баганын ижил утгууд дээр үндэслэсэн бүх мөр. Гэхдээ ердийнх шиг "гэхдээ" байдаг. Нөхцөлт форматын дүрмүүд нь нүдний түвшинд ажилладаг бөгөөд та бүх нүдийг бус давхардсан текстийг тодруулахыг хүсч болно. Үүнийг зөвхөн макро ашиглан хийж болно. Хэдийгээр та VBA-ийн талаар туршлагагүй байсан ч энэ хуудсыг хаах гэж яарах хэрэггүй. Эндээс та ашиглахад бэлэн кодын жишээнүүд болон тэдгээрийг хэрхэн ашиглах талаарх дэлгэрэнгүй зааврыг ажлын хуудаснаасаа олох болно.

    Текстийн том үсгийг үл тоомсорлон нүдэн дэх давхардсан үгсийг тодруулна уу

    Энэ жишээ нь нүдэн доторх давхардсан үг эсвэл текстийн мөрийг доорх зурагт үзүүлсэн шиг улаан үсгийн өнгөөр ​​хэрхэн сүүдэрлэхийг харуулж байна. Жижиг, том үсгийг ижил тэмдэгт гэж үздэгийг анхаарна уу. Жишээ нь: улбар шар , УЛБАЛ ба Улбар шар нь ижил үг гэж тооцогддог.

    макроны код дараах байдалтай байна:

    Public Sub HighlightDupesCaseInsensitive() Dim Cell as Range Dim Limitter as String Delimiter = InputBox( "Нүдэнд утгыг тусгаарлах хязгаарлагчийг оруулна уу" , "Хязгаарлагч" , ", " ) Нүд бүрийн хувьдApplication.Selection Call HighlightDupeWordsInCell(Cell, Limitter, False ) Next End Sub Sub HighlightDupeWordsInCell(Мөрийн хувьд нүд, Сонголтоор хязгаарлагч тэмдэгт тэмдэгт = " " , Сонголттой тохиолдолд мэдрэмжтэй Boolean = True ) Dim text as String Dim word() as string String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Дараа нь үгс = Split(Cell.Value, Delimiter) Бусад үгс = Split(LCase(Cell.Value), Limitter) End If For wordIndex = LBound (үг) To UBound (үг) - 1 үг = үг(wordIndex) matchCount = 0 NextWordIndex-д = wordIndex + 1 To UBound (үг) Хэрэв үг = үг(nextWordIndex) Дараа нь matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Дараа нь text = "" For Index = LBound (үг) To UBound (үг) text = text & үг(Индекс) Хэрэв (үг(Үг) = үг) Дараа нь Cell.Characters(Len(текст) - Len(үг) + 1, Len(үг)).Font.Color = vbRed End Хэрэв текст = текст & Хязгаарлагч Next End If Next wordIndex End Sub

    Нүдэн дэх давхардсан текстийг том жижиг жижигээр онцлон тэмдэглэх

    Ихэнх тохиолдолд бид Excel-д текст оруулгатай ажиллахдаа үсгийн том үсгийг үл тоомсорлодог. Гэсэн хэдий ч тодорхой нөхцөл байдалд текстийн тохиолдол чухал байдаг. Жишээлбэл, хэрэв та ID, нууц үг эсвэл ийм төрлийн бусад бүртгэлтэй харьцаж байгаа бол 1-AA , 1-aa болон 1-Aa<зэрэг мөрүүд 2> нь давхардаагүй тул онцлон тэмдэглэж болохгүй:

    Энэ тохиолдолдкодын дараах хувилбарыг ашиглана уу:

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Limitter As String Delimiter = InputBox( "Нүдэнд утгыг тусгаарлах хязгаарлагчийг оруулна уу" , "Хязгаарлагч" , ", " ) Тус бүрд Application.Selection дахь нүд HighlightDupeWordsInCell(Нүд, Хязгаарлагч, Үнэн ) Дараагийн төгсгөл Дэд Дэд ТодотгохDupeWordsInCell(Мөрийн хувьд нүд, Заавал хязгаарлагч тэмдэгт мөр = " " , Сонголтоор жижиг үсэг мэдрэмжтэй Boolean = Үнэн ) Текстийг мөр болгон бүдгэрүүлэх Dim үг() word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Дараа нь үгс = Split(Cell.Value, Delimiter) Бусад үгс = Split(LCase(Cell.Value), Limitter) End If For wordIndex = LBound (үг) To UBound ( үг) - 1 үг = үг(wordIndex) matchCount = 0 NextWordIndex-ийн хувьд = wordIndex + 1 To UBound (үг) Хэрэв үг = үг(nextWordIndex) Дараа нь matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Дараа нь text = "" For Index = LBound (үг) To UBound (үг) text = text & үг(Индекс) Хэрэв (үг (Үг) = үг) Дараа нь Cell.Characters(Len(текст) - Len(үг) + 1, Len(үг)).Font.Color = vbRed End Хэрэв текст = текст & Хязгаарлагч Next End If Next wordIndex End Sub

    Excel дээр давхардсан үгсийг тодруулахын тулд макро хэрхэн ашиглах вэ

    Хэрэв та VBA-г ашиглаж эхэлж байгаа бол доорх алхам алхмаар зааварчилгааг танд хялбархан харуулах болно. . Туршлагатай хэрэглэгчид боломжтойТатаж авах линкийг сонгоод үлдсэнийг нь алгасаад үзээрэй :)

    Ажлын дэвтэртээ код нэмнэ үү

    Та Excel-ийн ажлын дэвтэртээ макро код оруулахаас эхэлнэ. Үүнд:

    1. Дуйваруудыг тодруулахыг хүсэж буй ажлын номоо нээнэ үү.
    2. Visual Basic Editor-ыг нээхийн тулд Alt + F11 товчийг дарна уу.
    3. Зүүн талын самбар дээр, ThisWorkbook дээр хулганы баруун товчийг дараад контекст цэснээс Insert > Module -г сонго.
    4. Код цонхонд кодыг буулгана уу.
    5. Макро цаашид ашиглах зорилгоор хадгалахын тулд ажлын дэвтрээ макро идэвхжүүлсэн .xlsm файл болгон хадгалахаа мартуузай.

    Эсвэл та манай ажлын номыг татаж аваад тэндээс макро ажиллуулж болно. Жишээ ажлын дэвтэр нь дараах макронуудыг агуулна:

    • HighlightDupesCaseInsensitive - үсгийн том үсгийг үл тоомсорлон нүдэн доторх давхардлыг сүүдэрлэдэг.
    • HighlightDupesCaseSensitive - тодотгол Үсгийн тохиолдлыг харгалзан нүдэнд хуулбарлах.

    Дэлгэрэнгүй мэдээллийг Excel-д VBA кодыг хэрхэн оруулах талаар үзнэ үү.

    Макро ажиллуулах

    Кодоор Өөрийн ажлын дэвтэрт нэмсэн эсвэл манай жишээ файлыг татаж аваад нээвэл дараах байдлаар макро ажиллуулна уу:

    1. Ажлын хуудсан дээрээ давхардсан текстийг тодруулахыг хүссэн нүднүүдийг сонго. Энэ нь нэг муж эсвэл олон зэргэлдээ бус муж байж болно.
    2. Alt + F8 дарна уу.
    3. Сонирхолтой макро сонгоод Ажиллуулах дээр дарна уу.

    4. Макро нь хязгаарлагчийг зааж өгөхийг хүсэх болноЭнэ нь сонгосон нүднүүдийн утгыг тусгаарладаг. Урьдчилан тогтоосон хязгаарлагч (бидний тохиолдолд таслал ба хоосон зай) оролтын талбарт автоматаар гарч ирнэ. Та өөрийн хэрэгцээ шаардлагаас хамааран өгөгдмөл хязгаарлагчийг орхиж эсвэл өөрийг бичээд OK товчийг дарж болно.

    Хэсэг хугацааны дараа сонгогдсон бүх давхардсан мөрүүд нүднүүдийг улаан өнгөөр ​​(эсвэл таны кодонд ямар ч үсгийн өнгө тохируулсан) сүүдэрлэх болно.

    Зөвлөмж. Нүдний доторх давхардсан файлуудыг хурдан арилгахын тулд та манай Ultimate Suite-д багтсан олон цаг хэмнэх хэрэгслүүдийн нэг болох Давхардсан дэд мөрүүдийг устгахыг ашиглаж болно.

    Хэрхэн өөрийн хэрэгцээнд зориулан кодыг тохируулах вэ

    Эдгээр ашиглалтын тэмдэглэл болон VBA-н хамгийн анхан шатны мэдлэгтэй (эсвэл доорх зааврыг дагаж мөрдвөл) та өөрийн хэрэгцээнд нийцүүлэн кодуудыг хялбархан өөрчлөх боломжтой.

    Ижил модуль дээр байрлуул

    Таны анзаарсанчлан макро хоёулаа ( HighlightDupesCaseSensitive ба HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell функцийг дууддаг. Дээрх хоёр макроны хоорондох ялгаа нь зөвхөн дээрх функцэд дамжуулагдсан 3-р параметрт (CaseSensitive) байна.

    Бага үсгээр хайхын тулд үүнийг ҮНЭН гэж тохируулсан:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    Үсгийн жижиг үсгээр хайхын тулд үүнийг ХУДАЛ гэж тохируулсан:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    Макро ажиллахын тулд HighlightDupeWordsInCell функцийн кодыг дараах хэсэгт байрлуулах шаардлагатай. -тэй ижил модульмакрос.

    Хязгаарлагч

    Ажиллуулах үед макро сонгосон нүднүүдэд үг/мөрүүдийг тусгаарлах зааглагчийг зааж өгөхийг хүсэх болно. Өгөгдмөл хязгаарлагч нь таслал ба хоосон зай (", ") бөгөөд үүнийг InputBox-д урьдчилан тохируулсан болно:

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

    Та өөрийн кодын бусад тэмдэгтүүдийг чөлөөтэй ашиглаж болно. урьдчилан тодорхойлсон хязгаарлагчаар.

    Өнгө

    Өгөгдмөл байдлаар, HighlightDupeWordsInCell функц нь улаан үсгийн өнгөөр ​​давхарддаг. Өнгө нь энэ мөрөнд тодорхойлогддог:

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

    Энд vbRed нь VBA өнгөний тогтмол хэлбэр юм. Хувилбарыг өөр өнгөөр ​​харуулахын тулд та vbRed-г vbGreen, vbYellow, vbBlue гэх мэт өөр тогтмолоор сольж болно. T дэмжигдсэн өнгөний тогтмолуудын жагсаалтыг эндээс харна уу.

    Энэ бол. Excel нүдэнд давхардсан үгсийг хэрхэн тодруулах. Уншиж байгаад баярлалаа, ирэх долоо хоногт манай блог дээр уулзана гэж найдаж байна!

    Татаж авах боломжтой

    Нүдэн дэх давхардлыг тодруулах кодын жишээнүүд (.xlsm файл)

    Төгсгөлийн Suite 14 хоногийн бүрэн ажиллагаатай хувилбар (.exe файл)

    Майкл Браун бол програм хангамжийн хэрэгслийг ашиглан нарийн төвөгтэй процессуудыг хялбаршуулах хүсэл эрмэлзэлтэй, технологид дуртай хүн юм. Технологийн салбарт арав гаруй жил ажилласан туршлагатай тэрээр Microsoft Excel, Outlook, мөн Google Sheets болон Docs дээр ур чадвараа дээшлүүлсэн. Майклын блог нь өөрийн мэдлэг, туршлагаа бусадтай хуваалцах, бүтээмж, үр ашгийг дээшлүүлэхэд хялбар зөвлөмж, зааварчилгаа өгөх зорилготой юм. Та туршлагатай мэргэжилтэн эсвэл анхлан суралцаж байгаа эсэхээс үл хамааран Майклын блог нь эдгээр чухал програм хангамжийн хэрэгслээс хамгийн их ашиг хүртэх талаар үнэ цэнэтэй ойлголт, практик зөвлөгөөг санал болгодог.