எக்செல் கலத்தில் நகல் உரை / சொற்களை எவ்வாறு முன்னிலைப்படுத்துவது

  • இதை பகிர்
Michael Brown

VBA ஐப் பயன்படுத்தி ஒரு கலத்திற்குள் நகல் வார்த்தைகள் அல்லது உரைச் சரங்களை எவ்வாறு முன்னிலைப்படுத்துவது என்பதை டுடோரியல் காட்டுகிறது.

எக்செல் நிபந்தனை வடிவமைத்தல் நீங்கள் நினைக்கும் ஒவ்வொரு வழியிலும் நகல்களை முன்னிலைப்படுத்துவதை சாத்தியமாக்குகிறது: 1வது நிகழ்வுகளுடன் அல்லது இல்லாமல், ஒரு நெடுவரிசை அல்லது பல நெடுவரிசைகள், தொடர்ச்சியான நகல் கலங்கள் மற்றும் முக்கிய நெடுவரிசையில் ஒரே மாதிரியான மதிப்புகளின் அடிப்படையில் முழு வரிசைகளும். ஆனால், வழக்கம் போல், ஒரு "ஆனால்" உள்ளது. நிபந்தனை வடிவமைத்தல் விதிகள் செல் அளவில் செயல்படும் அதே வேளையில் நீங்கள் முழு கலங்களை விட நகல் உரையை முன்னிலைப்படுத்த விரும்பலாம். இதை மேக்ரோக்கள் மூலம் மட்டுமே செய்ய முடியும். உங்களுக்கு VBA உடன் அனுபவம் இல்லாவிட்டாலும், இந்தப் பக்கத்தை மூடுவதற்கு அவசரப்பட வேண்டாம். இங்கே, பயன்படுத்தத் தயாரான குறியீடு எடுத்துக்காட்டுகளையும் அவற்றை எவ்வாறு பயன்படுத்துவது என்பது குறித்த விரிவான வழிமுறைகளையும் உங்கள் பணித்தாள்களில் காணலாம்.

    உரைப் பெட்டியைப் புறக்கணிக்கும் கலத்தில் நகல் வார்த்தைகளை முன்னிலைப்படுத்தவும்

    கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, சிவப்பு எழுத்துரு வண்ணத்தில் ஒரு கலத்திற்குள் நகல் வார்த்தைகள் அல்லது உரைச் சரங்களை எவ்வாறு நிழலிடுவது என்பதை இந்த எடுத்துக்காட்டு காட்டுகிறது. சிறிய மற்றும் பெரிய எழுத்துக்கள் ஒரே எழுத்துகளாகக் கருதப்படுவதைக் கவனியுங்கள். எடுத்துக்காட்டாக, ஆரஞ்சு , ஆரஞ்சு மற்றும் ஆரஞ்சு ஆகியவை ஒரே வார்த்தையாகக் கருதப்படுகின்றன.

    தி மேக்ரோவின் குறியீடு பின்வருமாறு:

    Public Sub HighlightDupesCaseInsensitive() Dm Cell as Range Dim Delimiter as String Delimiter = InputBox( "ஒரு கலத்தில் மதிப்புகளைப் பிரிக்கும் பிரிவை உள்ளிடவும்" , "டிலிமிட்டர்" , ", " ) ஒவ்வொரு கலத்திற்கும்Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub Sub HighlightDupeWordsInCell(செல் வரம்பாக, விருப்பமான டிலிமிட்டர் சரமாக = " " , விருப்ப கேஸ்சென்சிட்டிவ் போல பூலியன் = உண்மை ) மங்கலான வார்த்தைகள் சரம் மங்கலான wordIndex, matchCount, positionInText Integer ஆக கேஸ்சென்சிட்டிவ் என்றால் வார்த்தைகள் = பிரித்தல்(செல்.மதிப்பு, எல்லைப்படுத்தி) வேறு வார்த்தைகள் = Split(LCase(Cell.Value), Delimiter) End For wordIndex = LBound (வார்த்தைகள்) க்கு UBound (வார்த்தைகள்) - 1 சொல் = சொற்கள் (wordIndex) matchCount = 0 அடுத்தWordIndex க்கு = wordIndex + 1 க்கு UBound (வார்த்தைகள்) என்றால் வார்த்தை = வார்த்தைகள்(nextWordIndex) பின்னர் matchCount = matchCount + 1 End என்றால் அடுத்ததாக இருந்தால்WordIndex என்றால் matchCount > 0 பின்னர் உரை = "" குறியீட்டுக்கு = LBound (வார்த்தைகள்) UBound (வார்த்தைகள்) உரை = உரை & ஆம்ப்; சொற்கள்(இண்டெக்ஸ்) என்றால் (சொற்கள்(இண்டெக்ஸ்) = சொல்) பின்னர் செல்.எழுத்துக்கள்(லென்(உரை) - லென்(வார்த்தை) + 1, லென்(வார்த்தை)).Font.Color = vbRed End என்றால் உரை = உரை & Delimiter Next End எனில் அடுத்த wordIndex End துணை

    செல் கேஸ்-சென்சிட்டிவ் உள்ள நகல் உரையை முன்னிலைப்படுத்தவும்

    பெரும்பாலான சூழ்நிலைகளில், Excel இல் உள்ள உரை உள்ளீடுகளுடன் பணிபுரியும் போது நாம் கடிதப் பெட்டியைப் புறக்கணிக்கிறோம். இருப்பினும், சில சூழ்நிலைகளில், உரை வழக்கு முக்கியமானது. உதாரணமாக, நீங்கள் ஐடிகள், கடவுச்சொற்கள் அல்லது அந்த வகையான பிற பதிவுகளைக் கையாளுகிறீர்கள் என்றால், 1-AA , 1-aa மற்றும் 1-Aa<போன்ற சரங்கள் 2> நகல்கள் அல்ல, மேலும் முன்னிலைப்படுத்தப்படக்கூடாது:

    இந்த வழக்கில்,குறியீட்டின் பின்வரும் பதிப்பைப் பயன்படுத்தவும்:

    Public Sub HighlightDupesCaseSensitive() மங்கலான கலத்தை ரேஞ்ச் டிம் டிலிமிட்டராக ஸ்டிரிங் டெலிமிட்டராக = InputBox( "ஒரு கலத்தில் மதிப்புகளைப் பிரிக்கும் டிலிமிட்டரை உள்ளிடவும்" , "டெலிமிட்டர்" , ", " ) ஒவ்வொன்றிற்கும் பயன்பாட்டில் உள்ள செல். தேர்வு அழைப்பு HighlightDupeWordsInCell(செல், டிலிமிட்டர், உண்மை ) அடுத்த முடிவு துணை துணை ஹைலைட் டூப்வேர்ட்ஸ்இன்செல்(செல் வரம்பாக, விருப்பமான டிலிமிட்டர் சரமாக = "" , விருப்பமான கேஸ்சென்சிட்டிவ் போல பூலியன் = உண்மை ) மங்கலான வார்த்தைகள் வார்த்தை சரம் மங்கலான wordIndex, matchCount, positionInText Integer ஆக கேஸ்சென்சிட்டிவ் என்றால் வார்த்தைகள் = Split(Cell.Value, Delimiter) மற்ற வார்த்தைகள் = Split(LCase(Cell.Value), Delimiter) End என்றால் wordIndex = LBound (வார்த்தைகள்) க்கு UBound ( சொற்கள்) - 1 சொல் = சொற்கள் (wordIndex) matchCount = 0 அடுத்தWordIndex க்கு = wordIndex + 1 க்கு UBound (வார்த்தைகள்) என்றால் வார்த்தை = வார்த்தைகள்(nextWordIndex) பின்னர் matchCount = matchCount + 1 End என்றால் அடுத்துWordIndex என்றால் matchCount > 0 பின்னர் உரை = "" குறியீட்டுக்கு = LBound (வார்த்தைகள்) UBound (வார்த்தைகள்) உரை = உரை & ஆம்ப்; சொற்கள்(இண்டெக்ஸ்) என்றால் (சொற்கள்(இண்டெக்ஸ்) = சொல்) பின்னர் செல்.எழுத்துக்கள்(லென்(உரை) - லென்(வார்த்தை) + 1, லென்(வார்த்தை)).Font.Color = vbRed End என்றால் உரை = உரை & Delimiter Next End If Next wordIndex End Sub

    எக்செல் இல் நகல் வார்த்தைகளை ஹைலைட் செய்ய மேக்ரோக்களை எவ்வாறு பயன்படுத்துவது

    நீங்கள் VBA ஐப் பயன்படுத்துவதில் ஒரு தொடக்கக்காரராக இருந்தால், கீழே உள்ள படிப்படியான வழிமுறைகள் உங்களுக்கு வசதியாக உதவும். . அனுபவம் வாய்ந்த பயனர்கள் இருக்கலாம்பதிவிறக்க இணைப்பைத் தேர்ந்தெடுத்து மீதமுள்ளவற்றைத் தவிர்க்கவும் :)

    உங்கள் பணிப்புத்தகத்தில் குறியீட்டைச் சேர்க்கவும்

    உங்கள் எக்செல் பணிப்புத்தகத்தில் மேக்ரோவின் குறியீட்டைச் செருகுவதன் மூலம் தொடங்கவும். இதோ:

    1. டூப்ஸை முன்னிலைப்படுத்த விரும்பும் பணிப்புத்தகத்தைத் திறக்கவும்.
    2. விஷுவல் பேசிக் எடிட்டரைத் திறக்க Alt + F11ஐ அழுத்தவும்.
    3. இடது பலகத்தில், இந்தப் பணிப்புத்தகம் வலது கிளிக் செய்து, சூழல் மெனுவிலிருந்து செருகு > Module என்பதைத் தேர்ந்தெடுக்கவும்.
    4. குறியீடு சாளரத்தில் குறியீட்டை ஒட்டவும்.
    5. மேக்ரோவை எதிர்கால பயன்பாட்டிற்காக வைத்திருக்க, உங்கள் பணிப்புத்தகத்தை மேக்ரோ-இயக்கப்பட்ட .xlsm கோப்பாக சேமிக்க மறக்காதீர்கள்.

    மாற்றாக, நீங்கள் எங்கள் மாதிரி பணிப்புத்தகத்தை பதிவிறக்கம் செய்து அங்கிருந்து மேக்ரோவை இயக்கலாம். மாதிரிப் பணிப்புத்தகத்தில் பின்வரும் மேக்ரோக்கள் உள்ளன:

    • HighlightDupesCaseInsensitive - லெட்டர் கேஸைப் புறக்கணிக்கும் கலத்திற்குள் நிழல்கள் நகல்.
    • HighlightDupesCaseSensitive - சிறப்பம்சங்கள் கடிதப் பெட்டியைக் கருத்தில் கொண்டு கலத்தில் டூப்ஸ்.

    மேலும் தகவலுக்கு, எக்செல் இல் VBA குறியீட்டை எவ்வாறு செருகுவது என்பதைப் பார்க்கவும்.

    மேக்ரோவை

    குறியீட்டைக் கொண்டு இயக்கவும். உங்களின் சொந்தப் பணிப்புத்தகத்தில் சேர்க்கப்பட்டது அல்லது எங்கள் மாதிரி கோப்பு பதிவிறக்கம் செய்யப்பட்டு திறக்கப்பட்டது, மேக்ரோவை இந்த வழியில் இயக்கவும்:

    1. உங்கள் பணித்தாளில், நகல் உரையை முன்னிலைப்படுத்த விரும்பும் கலங்களைத் தேர்ந்தெடுக்கவும். இது ஒரு வரம்பாகவோ அல்லது அருகில் இல்லாத பல வரம்புகளாகவோ இருக்கலாம்.
    2. Alt + F8 அழுத்தவும் .
    3. ஆர்வமுள்ள மேக்ரோவைத் தேர்ந்தெடுத்து இயக்கு என்பதைக் கிளிக் செய்யவும்.

    4. டிலிமிட்டரைக் குறிப்பிட மேக்ரோ உங்களிடம் கேட்கும்தேர்ந்தெடுக்கப்பட்ட கலங்களில் உள்ள மதிப்புகளைப் பிரிக்கிறது. முன்னமைக்கப்பட்ட டிலிமிட்டர் (எங்கள் விஷயத்தில் ஒரு காற்புள்ளி மற்றும் ஒரு இடம்) உள்ளீட்டு பெட்டியில் தானாகவே தோன்றும். உங்கள் தேவைகளைப் பொறுத்து, நீங்கள் இயல்புநிலைப் பிரிவை விட்டுவிடலாம் அல்லது வேறு ஒன்றைத் தட்டச்சு செய்து, சரி என்பதைக் கிளிக் செய்யவும்.

    சிறிது நேரம் கழித்து, தேர்ந்தெடுக்கப்பட்டவற்றில் உள்ள அனைத்து நகல் சரங்களும் செல்கள் சிவப்பு நிறத்தில் நிழலிடப்படும் (அல்லது உங்கள் குறியீட்டில் எந்த எழுத்துரு வண்ணம் அமைக்கப்பட்டிருந்தாலும்).

    உதவிக்குறிப்பு. ஒரு கலத்தில் உள்ள நகல்களை விரைவாக அகற்ற , எங்கள் அல்டிமேட் சூட்டில் உள்ள பல முறை சேமிக்கும் கருவிகளில் ஒன்றான நீக்கு டூப்ளிகேட் சப்ஸ்ட்ரிங்ஸைப் பயன்படுத்தலாம்.

    உங்கள் தேவைகளுக்கு குறியீட்டை எவ்வாறு சரிசெய்வது

    இந்த பயன்பாட்டுக் குறிப்புகள் மற்றும் VBA பற்றிய அடிப்படை அறிவைக் கொண்டு (அல்லது கீழே உள்ள வழிமுறைகளைப் பின்பற்றினால்), உங்கள் தேவைகளுக்கு ஏற்ப குறியீடுகளை எளிதாக மாற்றலாம்.

    அதே தொகுதியில் வைக்கவும்

    நீங்கள் கவனித்தபடி, இரண்டு மேக்ரோக்களும் ( HighlightDupesCaseSensitive மற்றும் HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell செயல்பாட்டை அழைக்கின்றன. மேலே உள்ள இரண்டு மேக்ரோக்களுக்கும் இடையே உள்ள வேறுபாடு, கூறப்பட்ட செயல்பாட்டிற்கு அனுப்பப்பட்ட 3வது அளவுருவில் (கேஸ்சென்சிட்டிவ்) மட்டுமே உள்ளது.

    கேஸ்-சென்சிட்டிவ் தேடலுக்கு, இது TRUE என அமைக்கப்பட்டுள்ளது:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    கேஸ்-சென்சிட்டிவ் தேடலுக்கு, இது FALSE என அமைக்கப்பட்டுள்ளது:

    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 வண்ண மாறிலி ஆகும். டூப்களை வேறு நிறத்தில் காட்ட, vbGreen, vbYellow, vbBlue, போன்ற வேறொரு மாறிலியுடன் vbRed ஐ மாற்றலாம். T ஆதரிக்கப்படும் வண்ண மாறிலிகளின் பட்டியலை இங்கே காணலாம்.

    அது எக்செல் கலங்களில் நகல் வார்த்தைகளை எவ்வாறு முன்னிலைப்படுத்துவது. படித்ததற்கு நன்றி மற்றும் அடுத்த வாரம் எங்கள் வலைப்பதிவில் உங்களைப் பார்ப்பீர்கள் என்று நம்புகிறேன்!

    கிடைக்கும் பதிவிறக்கங்கள்

    ஒரு கலத்தில் நகல்களை முன்னிலைப்படுத்த குறியீடு எடுத்துக்காட்டுகள் (.xlsm கோப்பு)

    அல்டிமேட் சூட் 14-நாள் முழு செயல்பாட்டு பதிப்பு (.exe கோப்பு)

    மைக்கேல் பிரவுன் ஒரு பிரத்யேக தொழில்நுட்ப ஆர்வலர், மென்பொருள் கருவிகளைப் பயன்படுத்தி சிக்கலான செயல்முறைகளை எளிதாக்குவதில் ஆர்வம் கொண்டவர். தொழில்நுட்பத் துறையில் ஒரு தசாப்தத்திற்கும் மேலான அனுபவத்துடன், மைக்ரோசாஃப்ட் எக்செல் மற்றும் அவுட்லுக், அத்துடன் கூகுள் தாள்கள் மற்றும் டாக்ஸில் தனது திறமைகளை மெருகேற்றியுள்ளார். மைக்கேலின் வலைப்பதிவு அவரது அறிவையும் நிபுணத்துவத்தையும் மற்றவர்களுடன் பகிர்ந்துகொள்வதற்காக அர்ப்பணிக்கப்பட்டுள்ளது, உற்பத்தித்திறன் மற்றும் செயல்திறனை மேம்படுத்துவதற்கு எளிதாகப் பின்பற்றக்கூடிய உதவிக்குறிப்புகள் மற்றும் பயிற்சிகளை வழங்குகிறது. நீங்கள் ஒரு அனுபவமிக்க நிபுணராக இருந்தாலும் அல்லது தொடக்கநிலையாளராக இருந்தாலும், மைக்கேலின் வலைப்பதிவு இந்த அத்தியாவசிய மென்பொருள் கருவிகளில் இருந்து அதிகமானவற்றைப் பெறுவதற்கு மதிப்புமிக்க நுண்ணறிவுகளையும் நடைமுறை ஆலோசனைகளையும் வழங்குகிறது.