Edukien taula
Tutorialak gelaxka batean bikoiztutako hitzak edo testu-kateak nola nabarmentzen diren erakusten du VBA erabiliz.
Excel Baldintzadun formatuak bikoiztuak pentsa ditzakezun modu guztietan nabarmentzea ahalbidetzen du: 1. agerraldiekin edo gabe, zutabe bakarrean edo hainbat zutabetan, ondoz ondoko gelaxka bikoiztuak eta gako-zutabe bateko balio berdinetan oinarritutako errenkada osoak. Baina, ohi bezala, badago “baina”. Baldintzapeko formatu-arauek gelaxka mailan funtzionatzen dute, baliteke testu bikoiztua nabarmendu nahi izatea gelaxka osoak baino. Makroekin bakarrik egin daiteke. VBA-rekin esperientziarik ez baduzu ere, mesedez ez izan presarik orri hau ixteko. Hemen, erabiltzeko prest dauden kode-adibideak eta horiek erabiltzeko argibide zehatzak aurkituko dituzu zure lan-orrietan.
Nabarmendu bikoiztutako hitzak gelaxka batean testuaren maiuskulak eta minuskulak alde batera utzita
Adibide honek gelaxka baten barruan bikoiztutako hitzak edo testu-kateak nola itzaltzen diren erakusten du beheko irudian agertzen den bezala letra-tipo gorrian. Kontuan izan letra xeheak eta maiuskulak karaktere berdin gisa tratatzen direla. Esate baterako, laranja , LARANJA eta laranja hitz bera dela uste da.
makroaren kodea honako hau da:
Public Sub HighlightDupesCaseInsensitive() Dim Cell Range As Dim Delimiter As String Delimiter = InputBox( "Idatzi gelaxka batean balioak bereizten dituen mugatzailea", "Mugatzailea", ", " ) Gelaxka bakoitzekoAplikazioa.Hautaketa Deia HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Aukerako maiuskulak eta minuskulak bereiztea Boolean = True ) Dim text as String Dim word() As String Dim hitz gisa String Dim wordIndex, matchCount, positionInText As Integer As If For wordIndex = LBound (hitz) To UBound (hitz) - 1 hitza = hitzak (hitzIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound (hitzak) If word = word (nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Then text = "" For Index = LBound (hitzak) To UBound (hitzak) text = text & hitzak (Aurkibidea) If (hitzak (Aurkibidea) = hitza) Then Cell.Pertsonaiak (Len (testua) - Len (hitza) + 1, Len (hitza)).Font.Color = vbRed End If text = testua & Mugatzailea Next End If Next wordIndex End SubNabarmendu testu bikoiztuak gelaxka batean maiuskulak eta minuskulak bereizten dituena
Egoera gehienetan, letra maiuskulak alde batera utzi ohi ditugu Excel-en testu-sarrerak lantzean. Zenbait kasutan, ordea, testuaren kasuak axola du. Adibidez, ID, pasahitzak edo mota horretako beste erregistro batzuekin ari bazara, 1-AA , 1-aa eta 1-Aa
Kasu honetan,erabili kodearen bertsio hau:
Public Sub HighlightDupesCaseSensitive() Dim Cell Range As Dim Delimiter As String Delimiter = InputBox( "Idatzi gelaxka batean balioak bereizten dituen mugatzailea", "Mugatzailea", ", " ) Bakoitzerako Gelaxka Aplikazioan.Hautapena Deia HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Aukerako Mugatzailea As String = " " , Aukerako maiuskulak eta minuskulak bereizten dira Boolean = True ) Testu lausoa Kate gisa Dim hitzak() Kate gisa word As String Dim wordIndex, matchCount, positionInText Integer gisa Maiuskulak eta minuskulak bereizten badira Ondoren, hitzak = Zatitu (Gelula.Balioa, Mugatzailea) Bestela hitzak = Zatitu (LCase (Geula.Balioa), Mugatzailea) Amaiera If For wordIndex = LBound (hitzak) To UBound ( hitzak) - 1 hitza = hitzak (hitzIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound (hitzak) If word = word (nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Then text = "" For Index = LBound (hitzak) To UBound (hitzak) text = text & hitzak (Aurkibidea) If (hitzak (Aurkibidea) = hitza) Then Cell.Pertsonaiak (Len (testua) - Len (hitza) + 1, Len (hitza)).Font.Color = vbRed End If text = testua & Mugatzailea Next End If Next wordIndex End SubNola erabili makroak Excel-en bikoiztutako hitzak nabarmentzeko
VBA erabiltzen hasiberria bazara, beheko pausoz pauso argibideek eroso ibiliko zaituzte. . Esperientziadun erabiltzaileek balitekebesterik gabe, hautatu deskargatzeko esteka eta saltatu gainerakoa :)
Gehitu kodea zure lan-koadernoan
Makroaren kodea zure Excel-eko liburuan txertatzen hasten zara. Hona hemen nola:
- Ireki lan-liburua non dupeak nabarmendu nahi dituzun.
- Sakatu Alt + F11 Visual Basic editorea irekitzeko.
- Ezkerreko panelean, egin klik eskuineko botoiarekin ThisWorkbook eta hautatu Txertatu > Modulua testuinguru-menuan.
- Itsatsi kodea Kodearen leihoan.
- Makroa etorkizunean erabiltzeko, ziurtatu zure lan-liburua makro-gaitutako .xlsm fitxategi gisa gordetzen duzula.
Bestela, gure adibideko lan-koadernoa deskarga dezakezu eta hortik makroa exekutatu. Lagin-koadernoak makro hauek ditu:
- HighlightDupesCaseSensitive - gelaxka baten barruan bikoiztuak jartzen ditu hizkiaren maiuskulak alde batera utzita.
- HighlightDupesCaseSensitive - nabarmentzen dira. dupes gelaxka batean letra maiuskulak kontuan hartuta.
Informazio gehiago lortzeko, ikusi Nola txertatu VBA kodea Excel-en.
Exekutatu makroa
Kodearekin zure lan-liburuan gehituta edo gure lagin fitxategia deskargatu eta ireki, exekutatu makroa modu honetan:
- Zure lan-orrian, hautatu bikoiztutako testua nabarmendu nahi duzun gelaxkak. Barruti bat edo ondoan ez dauden barruti anitz izan daiteke.
- Sakatu Alt + F8 .
- Hautatu interesgarri den makroa eta sakatu Exekutatu . Ikusi ere: Nola bihurtu zenbakia hitzetara Excel-en
- Makroak mugatzailea zehazteko eskatuko dizuhautatutako gelaxketan balioak bereizten dituena. Aurrez ezarritako mugatzailea (koma eta zuriune bat gure kasuan) automatikoki agertuko da sarrera-koadroan. Zure beharren arabera, mugatzaile lehenetsia utz dezakezu edo beste bat idatzi eta, ondoren, sakatu Ados.
Une bat geroago, hautatutako kate bikoiztu guztiak. gelaxkak kolore gorriz itzalduko dira (edo zure kodean ezarrita dagoen letra-tipoaren kolorea).
Aholkua. Gelaxka batean bikoiztuak azkar kentzeko , Kendu bikoiztutako azpikateak erabil dezakezu, gure Ultimate Suite-n sartzen diren denbora aurrezteko tresna askotako bat.
Nola egokitu kodea zure beharretara
Erabilera-ohar hauekin eta VBA-ren oinarrizko ezagutzarekin (edo beheko argibideak gertutik jarraituz), erraz alda ditzakezu kodeak zure beharren arabera.
Jarri modulu berean
Ohartuko zarenez, bi makroek ( HighlightDupesCaseSensitive eta HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell funtzioa deitzen dute. Goiko bi makroen arteko aldea aipatutako funtzioari pasatu zaion 3. parametroan (Maiuskulak eta minuskulak bereizten ditu).
Mauskulak eta minuskulak bereizten dituen bilaketarako, TRUE gisa ezartzen da:
Call HighlightDupeWordsInCell(Cell, Delimiter, True)
Mauskulak eta minuskulak bereizten ez dituen bilaketarako, FALSE gisa ezarrita dago:
Call HighlightDupeWordsInCell(Cell, Delimiter, False)
Makroek funtziona dezaten, HighlightDupeWordsInCell funtzioaren kodea jarri behar da. modulu beramakroak.
Mugatzailea
Exekutatzen denean, makroak aukeratutako gelaxketan hitzak/kateak bereizten dituen mugatzailea zehazteko eskatuko dizu. Mugatzaile lehenetsia koma eta zuriune bat (", ") da eta InputBox-en aurrez ezarrita dago:
Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")
Zure kodean, libre zaude beste edozein karaktere(k) erabiltzeko. aurrez zehaztutako mugatzaile gisa.
Kolorea
Lehenespenez, HighlightDupeWordsInCell funtzioak letra-tipoaren kolore gorrian bikoiztu egiten du. Kolorea lerro honetan definitzen da:
Cell.Characters(positionInText, Len(word)).Font.Color = vbRed
Hemen, vbRed VBA kolore konstante moduko bat da. Dupeak beste kolore batean bistaratzeko, vbRed beste konstante batekin ordezka dezakezu, hala nola, vbGreen, vbYellow, vbBlue, etab. Onartutako kolore-konstanteen zerrenda hemen aurki dezakezu
Hori da. nola nabarmendu hitz bikoiztuak Excel gelaxketan. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!
Deskarga erabilgarri
Kode adibideak gelaxka batean bikoiztuak nabarmentzeko (.xlsm fitxategia)
Azkena Suite 14 eguneko bertsio guztiz funtzionala (.exe fitxategia)