સામગ્રીઓનું કોષ્ટક
ટ્યુટોરીયલ બતાવે છે કે VBA નો ઉપયોગ કરીને કોષમાં ડુપ્લિકેટ શબ્દો અથવા ટેક્સ્ટ સ્ટ્રીંગને કેવી રીતે હાઇલાઇટ કરવી.
એક્સેલ કન્ડીશનલ ફોર્મેટિંગ દરેક સંભવિત રીતે ડુપ્લિકેટ્સને હાઇલાઇટ કરવાનું શક્ય બનાવે છે જે તમે વિચારી શકો: 1લી ઘટનાઓ સાથે અથવા વગર, એક કૉલમ અથવા બહુવિધ કૉલમમાં, સળંગ ડુપ્લિકેટ કોષો અને કી કૉલમમાં સમાન મૂલ્યો પર આધારિત સમગ્ર પંક્તિઓ. પરંતુ, હંમેશની જેમ, ત્યાં "પરંતુ" છે. શરતી ફોર્મેટિંગ નિયમો સેલ સ્તર પર કાર્ય કરે છે જ્યારે તમે સમગ્ર કોષોને બદલે ડુપ્લિકેટ ટેક્સ્ટને હાઇલાઇટ કરવા માગો છો. આ ફક્ત મેક્રો સાથે કરી શકાય છે. જો તમને VBA સાથે કોઈ અનુભવ ન હોય તો પણ, કૃપા કરીને આ પૃષ્ઠ બંધ કરવા માટે ઉતાવળ કરશો નહીં. અહીં, તમને ઉપયોગમાં લેવા માટે તૈયાર કોડ ઉદાહરણો અને તમારી વર્કશીટ્સમાં તેનો ઉપયોગ કેવી રીતે કરવો તેની વિગતવાર સૂચનાઓ મળશે.
ટેક્સ્ટ કેસને અવગણતા કોષમાં ડુપ્લિકેટ શબ્દોને હાઇલાઇટ કરો
આ ઉદાહરણ બતાવે છે કે સેલની અંદર ડુપ્લિકેટ શબ્દો અથવા ટેક્સ્ટ સ્ટ્રીંગને લાલ ફોન્ટ રંગમાં કેવી રીતે શેડ કરવી, જેમ કે નીચેની છબીમાં બતાવ્યા પ્રમાણે. કૃપા કરીને નોંધ લો કે લોઅરકેસ અને અપરકેસ અક્ષરો સમાન અક્ષરો તરીકે ગણવામાં આવે છે. ઉદાહરણ તરીકે, ઓરેન્જ , ઓરેન્જ અને ઓરેન્જ એક જ શબ્દ હોવાનું માનવામાં આવે છે.
આ મેક્રોનો કોડ નીચે મુજબ છે:
પબ્લિક સબ હાઇલાઇટDupesCaseInsensitive() સ્ટ્રિંગ ડિલિમિટર તરીકે રેન્જ ડિમ ડિલિમિટર તરીકે ડિમ સેલ = ઇનપુટબૉક્સ ("સીમાંકક દાખલ કરો જે સેલમાં મૂલ્યોને અલગ કરે છે" , "ડિલિમિટર" , ", " ) દરેક સેલ માટેApplication.Selection Call HighlightDupeWordsInCell(સેલ, ડિલિમિટર, False ) નેક્સ્ટ એન્ડ સબ Sub HighlightDupeWordsInCell(સેલ એઝ રેન્જ, ઓપ્શનલ ડિલિમિટર એઝ સ્ટ્રિંગ = " " , વૈકલ્પિક કેસ સેન્સિટિવ એઝ બુલિયન = ટ્રુ) ડિમ ટેક્સ્ટ) શબ્દમાળા તરીકે Dim ટેક્સ્ટ) શબ્દ તરીકે Dim સ્ટ્રિંગ ડિમ વર્ડઇન્ડેક્સ, મેચકાઉન્ટ, પોઝીશનઇનટેક્સ્ટ પૂર્ણાંક તરીકે જો CaseSensitive તો શબ્દો = Split(Cell.Value, Delimiter) અન્ય શબ્દો = Split(LCase(Cell.Value), ડિલિમિટર) End If wordIndex = LBound (શબ્દો) થી UBound (શબ્દો) - 1 શબ્દ = શબ્દો(wordIndex) matchCount = 0 for nextWordIndex = wordIndex + 1 થી UBound (શબ્દો) જો શબ્દ = શબ્દો(nextWordIndex) તો matchCount = matchCount + 1 End જો આગળ nextWordIndex જો matchCount > 0 પછી ટેક્સ્ટ = "" ઈન્ડેક્સ = LBound (શબ્દો) થી UBound (શબ્દો) ટેક્સ્ટ = ટેક્સ્ટ & શબ્દો(ઇન્ડેક્સ) જો (શબ્દો(ઇન્ડેક્સ) = શબ્દ) તો સેલ. અક્ષરો(લેન(ટેક્સ્ટ) - લેન(શબ્દ) + 1, લેન(શબ્દ)).ફોન્ટ.કોલર = vbRed એન્ડ જો ટેક્સ્ટ = ટેક્સ્ટ & સીમાંકિત કરો નેક્સ્ટ એન્ડ જો નેક્સ્ટ વર્ડઇન્ડેક્સ એન્ડ સબસેલ કેસ-સેન્સિટિવમાં ડુપ્લિકેટ ટેક્સ્ટને હાઇલાઇટ કરો
મોટાભાગની પરિસ્થિતિઓમાં, અમે એક્સેલમાં ટેક્સ્ટ એન્ટ્રી સાથે કામ કરતી વખતે અક્ષર કેસને અવગણીએ છીએ. ચોક્કસ સંજોગોમાં, જો કે, ટેક્સ્ટ કેસ વાંધો છે. દા.ત. 2> ડુપ્લિકેટ નથી અને હાઇલાઇટ ન કરવા જોઇએ:
આ કિસ્સામાં,કોડના નીચેના સંસ્કરણનો ઉપયોગ કરો:
પબ્લિક સબ હાઇલાઇટડુપ્સકેસસેન્સિટિવ() સ્ટ્રિંગ ડિલિમિટર તરીકે રેંજ ડિમ ડિલિમિટર તરીકે ડિમ સેલ = ઇનપુટબૉક્સ ("સીમાંકક દાખલ કરો જે સેલમાં મૂલ્યોને અલગ કરે છે" , "ડિલિમિટર" , ", " ) દરેક માટે એપ્લિકેશનમાં સેલ.પસંદગી કૉલ હાઇલાઇટDupeWordsInCell(સેલ, ડિલિમિટર, ટ્રુ ) નેક્સ્ટ એન્ડ સબ સબ હાઇલાઇટDupeWordsInCell(સેલ તરીકે રેંજ, વૈકલ્પિક ડિલિમિટર તરીકે સ્ટ્રિંગ = " " , બુલિયન = ટ્રુ તરીકે વૈકલ્પિક કેસસંવેદી) ડિમ ટેક્સ્ટ ( String તરીકે Dim લખાણ) શબ્દ શબ્દમાળા તરીકે ડિમ wordIndex, matchCount, positionInText પૂર્ણાંક તરીકે જો CaseSensitive તો શબ્દો = Split(Cell.Value, Delimiter) અન્ય શબ્દો = Split(LCase(Cell.Value), ડિલિમિટર) End If wordIndex = LBound (શબ્દો) થી UBound ( શબ્દો) - 1 શબ્દ = શબ્દો(wordIndex) matchCount = 0 for nextWordIndex = wordIndex + 1 થી UBound (શબ્દો) જો શબ્દ = શબ્દો(nextWordIndex) તો matchCount = matchCount + 1 End જો આગળ nextWordIndex જો matchCount > 0 પછી ટેક્સ્ટ = "" ઈન્ડેક્સ = LBound (શબ્દો) થી UBound (શબ્દો) ટેક્સ્ટ = ટેક્સ્ટ & શબ્દો(ઇન્ડેક્સ) જો (શબ્દો(ઇન્ડેક્સ) = શબ્દ) તો સેલ. અક્ષરો(લેન(ટેક્સ્ટ) - લેન(શબ્દ) + 1, લેન(શબ્દ)).ફોન્ટ.કોલર = vbRed એન્ડ જો ટેક્સ્ટ = ટેક્સ્ટ & નેક્સ્ટ એન્ડ જો નેક્સ્ટ વર્ડઇન્ડેક્સ એન્ડ સબએક્સેલમાં ડુપ્લિકેટ શબ્દોને હાઇલાઇટ કરવા માટે મેક્રોનો ઉપયોગ કેવી રીતે કરવો
જો તમે VBA નો ઉપયોગ કરવા માટે શિખાઉ છો, તો નીચેની સ્ટેપ-બાય-સ્ટેપ સૂચનાઓ તમને આરામથી લઈ જશે . અનુભવી વપરાશકર્તાઓ કરી શકે છેફક્ત ડાઉનલોડ લિંક પસંદ કરો અને બાકીની અવગણો :)
તમારી વર્કબુકમાં કોડ ઉમેરો
તમે તમારી એક્સેલ વર્કબુકમાં મેક્રોનો કોડ દાખલ કરીને પ્રારંભ કરો છો. આ રીતે જુઓ:
- વર્કબુક ખોલો જ્યાં તમે ડુપ્સને હાઇલાઇટ કરવા માંગો છો.
- વિઝ્યુઅલ બેઝિક એડિટર ખોલવા માટે Alt + F11 દબાવો.
- ડાબી તકતી પર, આ વર્કબુક પર જમણું-ક્લિક કરો અને સંદર્ભ મેનૂમાંથી શામેલ કરો > મોડ્યુલ પસંદ કરો.
- કોડ વિન્ડોમાં કોડ પેસ્ટ કરો.
- મેક્રોને ભવિષ્યના ઉપયોગ માટે રાખવા માટે, તમારી વર્કબુકને મેક્રો-સક્રિયકૃત .xlsm ફાઇલ તરીકે સાચવવાની ખાતરી કરો.
વૈકલ્પિક રીતે, તમે અમારી નમૂના વર્કબુક ડાઉનલોડ કરી શકો છો અને ત્યાંથી મેક્રો ચલાવી શકો છો. સેમ્પલ વર્કબુકમાં નીચેના મેક્રો છે:
- HighlightDupesCaseInsensitive - લેટર કેસને અવગણીને કોષમાં ડુપ્લિકેટ શેડ્સ કરે છે.
- HighlightDupesCaseSensitive - હાઇલાઇટ્સ લેટર કેસને ધ્યાનમાં લેતા કોષમાં ડ્યુપ કરે છે.
વધુ માહિતી માટે, કૃપા કરીને એક્સેલમાં VBA કોડ કેવી રીતે દાખલ કરવો તે જુઓ.
મેક્રો ચલાવો
કોડ સાથે તમારી પોતાની વર્કબુકમાં ઉમેરવામાં આવે છે અથવા અમારી સેમ્પલ ફાઇલ ડાઉનલોડ કરીને ખોલવામાં આવે છે, આ રીતે મેક્રો ચલાવો:
- તમારી વર્કશીટમાં, તમે ડુપ્લિકેટ ટેક્સ્ટને હાઇલાઇટ કરવા માંગો છો તે કોષોને પસંદ કરો. આ એક શ્રેણી અથવા બહુવિધ બિન-સંલગ્ન શ્રેણીઓ હોઈ શકે છે.
- Alt + F8 દબાવો.
- રુચિનો મેક્રો પસંદ કરો અને ચલાવો પર ક્લિક કરો.
- મેક્રો તમને સીમાંકનો ઉલ્લેખ કરવા માટે પૂછશેજે પસંદ કરેલ કોષોમાંના મૂલ્યોને અલગ પાડે છે. પ્રીસેટ ડિલિમિટર (અમારા કિસ્સામાં અલ્પવિરામ અને જગ્યા) ઇનપુટ બોક્સમાં આપમેળે દેખાશે. તમારી જરૂરિયાતો પર આધાર રાખીને, તમે ડિફોલ્ટ સીમાંકને છોડી શકો છો અથવા એક અલગ ટાઇપ કરી શકો છો, અને પછી ઠીક ક્લિક કરો.
એક ક્ષણ પછી, પસંદ કરેલ તમામ ડુપ્લિકેટ સ્ટ્રીંગ્સ કોષોને લાલ રંગમાં શેડ કરવામાં આવશે (અથવા તમારા કોડમાં જે પણ ફોન્ટ રંગ સેટ કરેલ છે).
ટીપ. કોષની અંદર ઝડપથી ડુપ્લિકેટ દૂર કરવા માટે, તમે અમારા અલ્ટીમેટ સ્યુટમાં સમાવિષ્ટ ઘણા સમય બચત સાધનોમાંના એક, ડુપ્લિકેટ સબસ્ટ્રિંગ્સ દૂર કરોનો ઉપયોગ કરી શકો છો.
તમારી જરૂરિયાતો માટે કોડને કેવી રીતે ગોઠવવો
આ વપરાશની નોંધો અને VBA ના ખૂબ જ મૂળભૂત જ્ઞાન સાથે (અથવા નીચેની સૂચનાઓને નજીકથી અનુસરીને), તમે તમારી જરૂરિયાતોને અનુરૂપ કોડ્સને સરળતાથી સંશોધિત કરી શકો છો.
તે જ મોડ્યુલ પર મૂકો
તમે નોંધ કરી શકો છો કે, બંને મેક્રો ( HighlightDupesCaseSensitive અને HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell ફંક્શનને કૉલ કરો. ઉપરોક્ત બે મેક્રો વચ્ચેનો તફાવત માત્ર 3જી પેરામીટર (કેસ સેન્સિટિવ)માં જ છે જે કથિત ફંક્શનને પસાર કરવામાં આવ્યો છે.
કેસ-સેન્સિટિવ શોધ માટે, તે TRUE પર સેટ છે:
Call HighlightDupeWordsInCell(Cell, Delimiter, True)
ડિલિમિટર
જ્યારે ચલાવવામાં આવે છે, ત્યારે મેક્રો તમને સીમાંકકનો ઉલ્લેખ કરવા માટે પૂછશે જે પસંદ કરેલા કોષોમાં શબ્દો/સ્ટ્રિંગને અલગ કરે છે. ડિફૉલ્ટ ડિલિમિટર એ અલ્પવિરામ અને સ્પેસ (", ") છે અને તે ઇનપુટબૉક્સમાં પ્રીસેટ છે:
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 તે સપોર્ટેડ રંગ સ્થિરાંકોની સૂચિ અહીં મળી શકે છે.
તે છે એક્સેલ સેલમાં ડુપ્લિકેટ શબ્દો કેવી રીતે હાઇલાઇટ કરવા. હું વાંચવા બદલ તમારો આભાર માનું છું અને આગામી અઠવાડિયે તમને અમારા બ્લોગ પર મળવાની આશા રાખું છું!
ઉપલબ્ધ ડાઉનલોડ્સ
કોડ (.xlsm ફાઇલ)માં ડુપ્લિકેટ્સને હાઇલાઇટ કરવા માટે કોડ ઉદાહરણો
અલ્ટિમેટ સ્યુટ 14-દિવસ પૂર્ણ-કાર્યકારી સંસ્કરણ (.exe ફાઇલ)