Daptar eusi
Tutorial nunjukkeun cara nyorot duplikat kecap atawa string téks dina sél maké VBA.
Format Sarat Excel ngamungkinkeun pikeun nyorot duplikat dina sagala cara anu anjeun tiasa pikirkeun: kalawan atawa tanpa kajadian 1st, dina kolom tunggal atawa sababaraha kolom, sél duplikat padeukeut, sarta sakabéh baris dumasar kana nilai idéntik dina kolom konci. Tapi, sakumaha biasa, aya "tapi". Aturan pormat kondisional dianggo dina tingkat sél bari Anjeun meureun hoyong nyorot duplikat téks tinimbang sakabéh sél. Ieu ngan ukur tiasa dilakukeun ku makro. Sanaos anjeun teu gaduh pangalaman sareng VBA, punten ulah buru-buru nutup halaman ieu. Di dieu, anjeun bakal mendakan conto kode anu siap dianggo sareng pitunjuk lengkep ngeunaan cara ngagunakeunana dina lembar kerja anjeun.
Sorot duplikat kecap dina sél anu teu malire kasus téks
Conto ieu nunjukkeun kumaha ngiuhan duplikat kecap atanapi senar téks dina sél dina warna font beureum sapertos anu dipidangkeun dina gambar di handap ieu. Punten perhatikeun yén hurup leutik sareng hurup ageung diperlakukeun salaku karakter anu sami. Contona, jeruk , ORANGE jeung Oranye dianggap kecap anu sarua.
The Kode makro nyaéta kieu:
Public Sub HighlightDupesCaseInsensitive() Taram Cell Salaku Range Taram Delimiter Salaku String Delimiter = InputBox( "Asupkeun delimiter anu misahkeun nilai dina sél" , "Delimiter" , ", " ) Pikeun Unggal Cell DinaApplication.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub HighlightDupeWordsInCell(Cell as Range, Optional Delimiter As String = " " , Opsional CaseSensitive As Boolean = True ) Taram téks Salaku String Kecap Taram () Salaku String Taram kecap String Taram wordIndex, matchCount, positionInText Salaku Integer Lamun CaseSensitive Lajeng kecap = Beulah (Cell.Value, Delimiter) Kecap sejenna = Beulah (LCase (Cell.Value), Delimiter) Tungtung Lamun Pikeun wordIndex = LBound (kecap) Pikeun UBound (kecap) - 1 kecap = kecap (wordIndex) matchCount = 0 Pikeun nextWordIndex = wordIndex + 1 Pikeun UBound (kecap) Lamun kecap = kecap (nextWordIndex) Lajeng matchCount = matchCount + 1 Tungtung Lamun Next NextWordIndex Lamun matchCount & GT; 0 Lajeng téks = "" Pikeun Index = LBound (kecap) Pikeun UBound (kecap) téks = téks & amp; kecap (Indéks) Lamun (kecap (Indéks) = kecap) Lajeng Cell.Characters (Len (téks) - Len (kecap) + 1, Len (kecap)).Font.Color = vbRed Tungtung Lamun téks = téks & amp; Delimiter Next End If Next wordIndex End SubSorot duplikat téks dina sél sél-sénsitip
Dina kalolobaan kaayaan, urang condong malire kasus hurup nalika gawé bareng éntri téks dina Excel. Dina kaayaan nu tangtu, kumaha oge, kasus téks teu masalah. Contona, upami anjeun nuju urusan KTP, kecap akses, atanapi rékaman sanés sapertos kitu, senar sapertos 1-AA , 1-aa sareng 1-Aa sanes duplikat sareng teu kedah disorot:
Dina hal ieu,anggo vérsi kode ieu:
Public Sub HighlightDupesCaseSensitive() Dim Cell Salaku Range Dim Delimiter Salaku String Delimiter = InputBox( "Asupkeun delimiter anu misahkeun nilai dina sél" , "Delimiter" , ", " ) Pikeun Unggal Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Opsional CaseSensitive As Boolean = True ) Taram téks Salaku String Taram kecap () Salaku String Taram kecap Salaku String Taram wordIndex, matchCount, positionInText Salaku Integer Lamun CaseSensitive Lajeng kecap = Beulah (Cell.Value, Delimiter) Kecap séjén = Beulah (LCase (Cell.Value), Delimiter) Tungtung Lamun Pikeun wordIndex = LBound (kecap) Pikeun UBound ( kecap) - 1 kecap = kecap (wordIndex) matchCount = 0 Pikeun nextWordIndex = wordIndex + 1 Pikeun UBound (kecap) Lamun kecap = kecap (nextWordIndex) Lajeng matchCount = matchCount + 1 Tungtung Lamun Next NextWordIndex Lamun matchCount & GT; 0 Lajeng téks = "" Pikeun Index = LBound (kecap) Pikeun UBound (kecap) téks = téks & amp; kecap (Indéks) Lamun (kecap (Indéks) = kecap) Lajeng Cell.Characters (Len (téks) - Len (kecap) + 1, Len (kecap)).Font.Color = vbRed Tungtung Lamun téks = téks & amp; Delimiter Next End If Next wordIndex End SubKumaha cara ngagunakeun makro pikeun nyorot duplikat kecap dina Excel
Mun anjeun pemula dina ngagunakeun VBA, parentah hambalan-demi-hambalan di handap bakal nyaman keur anjeun ngaliwatan. . Pangguna anu berpengalaman tiasatinggal pilih tautan unduhan teras lewati sésana :)
Tambahkeun kodeu kana buku kerja anjeun
Anjeun mimitian ku ngalebetkeun kode makro dina buku kerja Excel anjeun. Kieu carana:
- Buka buku kerja dimana anjeun hoyong nyorot dupes.
- Pencét Alt + F11 pikeun muka Éditor Visual Basic.
- Dina panel kénca, klik katuhu ThisWorkbook terus pilih Selapkeun > Modul tina ménu kontéks.
- Tempelkeun kodeu dina jandéla Kodeu.
- Pikeun ngajaga makro pikeun pamakéan hareup, pastikeun pikeun nyimpen workbook anjeun salaku file .xlsm-makro.
Alternatipna, Anjeun bisa ngundeur workbook sampel urang jeung ngajalankeun makro ti dinya. Sampel workbook ngandung makro ieu:
- HighlightDupesCaseInsensitive - nuansa duplikat dina sél teu malire hurup leutik.
- HighlightDupesCaseSensitive - sorotan dupes dina sél merhatikeun kasus hurup.
Pikeun inpormasi salengkepna, mangga tingali Cara nyelapkeun kodeu VBA dina Excel.
Jalankeun makro
Kalayan kodeu ditambahkeun kana buku kerja Anjeun sorangan atawa file sampel urang diundeur jeung muka, ngajalankeun makro ku cara kieu:
- Dina lembar kerja anjeun, pilih sél dimana anjeun hoyong nyorot duplikat téks. Ieu bisa jadi hiji rentang atawa sababaraha rentang nu teu padeukeut.
- Pencét Alt + F8 .
- Pilih makro nu dipikaresep tur klik Jalankeun .
- Makro bakal naroskeun anjeun pikeun nangtukeun pangwatesananu misahkeun nilai-nilai dina sél anu dipilih. Wates prasetél (koma sareng spasi dina kasus urang) bakal otomatis muncul dina kotak input. Gumantung kana kabutuhan anjeun, anjeun tiasa ninggalkeun pembatas standar atanapi ngetik anu sanés, teras klik OK.
Sakedapan, sadaya duplikat string anu dipilih. sél bakal diwarnaan ku warna beureum (atanapi warna font naon waé anu disetél dina kode anjeun).
Tip. Pikeun gancang ngahapus duplikat dina sél, anjeun tiasa nganggo Hapus Duplikat Substrings, salah sahiji tina sababaraha alat nyimpen waktos anu kalebet dina Ultimate Suite kami.
Kumaha carana nyaluyukeun kodeu pikeun kabutuhan anjeun
Kalayan catetan pamakean ieu sareng pangaweruh dasar pisan ngeunaan VBA (atanapi ngan nuturkeun paréntah di handap ieu), anjeun tiasa sacara gampil ngarobih kodeu saluyu sareng kabutuhan anjeun.
Teundeun dina modul anu sami
Sakumaha anjeun perhatikeun, duanana makro ( HighlightDupesCaseSensitive sareng HighlightDupesCaseInsensitive ) nyauran fungsi HighlightDupeWordsInCell . Bédana antara dua makro di luhur ngan ukur dina parameter ka-3 (CaseSensitive) anu disalurkeun kana fungsi anu dimaksud.
Pikeun paluruh sénsitip-huruf, éta disetel ka BENER:
Call HighlightDupeWordsInCell(Cell, Delimiter, True)
Pikeun pamilarian sensitip-huruf, éta disetel ka FALSE:
Call HighlightDupeWordsInCell(Cell, Delimiter, False)
Supaya makro tiasa dianggo, kodeu fungsi HighlightDupeWordsInCell kedah disimpen dina modul sarua jeungmacros.
Delimiter
Nalika dijalankeun, makro bakal naroskeun anjeun pikeun nangtukeun wates anu misahkeun kecap/senar dina sél nu dipilih. Wates standar nyaéta koma sareng spasi (", ") sareng parantos disetél dina InputBox:
Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")
Dina kode anjeun, anjeun bébas ngagunakeun karakter anu sanés. salaku pembatas nu geus ditangtukeun.
Warna
Sacara standar, fungsi HighlightDupeWordsInCell ngawarnaan duplikat dina warna font beureum. Warnana didefinisikeun dina garis ieu:
Cell.Characters(positionInText, Len(word)).Font.Color = vbRed
Di dieu, vbRed mangrupakeun jenis konstanta warna VBA. Pikeun ningalikeun dupes dina warna anu béda, anjeun tiasa ngagentos vbRed sareng konstanta sanés sapertos vbGreen, vbYellow, vbBlue, jsb. T Daftar konstanta warna anu didukung tiasa dipendakan di dieu.
Éta kumaha nyorot duplikat kecap dina sél Excel. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog urang minggu payun!
Sadia undeuran
Contoh kode pikeun nyorot duplikat dina sél (file .xlsm)
Ultimate Suite 14 dinten versi fungsi pinuh (file .exe)