VBA இல் InStr செயல்பாட்டை எவ்வாறு பயன்படுத்துவது (3 எளிதான எடுத்துக்காட்டுகள்)

Hugh West

எக்செல் விபிஏ குறியீடுகளுடன் பணிபுரியும் போது, ​​சிக்கலான பணியை சிறிய ஒற்றை வரிக் குறியீடாக மாற்றும் சில உள்ளமைக்கப்பட்ட செயல்பாடுகளை நாங்கள் காண்கிறோம். InStr என்பது எக்செல் விபிஏவில் கிடைக்கக்கூடிய ஒரு செயல்பாடாகும், இது கொடுக்கப்பட்ட நிலையில் இருந்து தொடங்கி கொடுக்கப்பட்ட மற்றொரு சரத்திற்குள் ஒரு குறிப்பிட்ட சரத்தைத் தேடுகிறது. கொடுக்கப்பட்ட மற்றொரு சரத்தில் ஒரு குறிப்பிட்ட சரத்தைத் தேட, VBA இல் உள்ள InStr செயல்பாட்டை எவ்வாறு பயன்படுத்தலாம் என்பதை இன்று நான் காண்பிக்கிறேன்.

பயிற்சிப் புத்தகத்தைப் பதிவிறக்கவும்

6>

InStr Function.xlsm

VBA InStr செயல்பாடு

  • அறிமுகம் சுருக்கம்

கொடுக்கப்பட்ட நிலையில் இருந்து தொடங்கி, கொடுக்கப்பட்ட சரத்திற்குள் ஒரு குறிப்பிட்ட சரத்தைத் தேடுகிறது. பொருத்தம் கண்டறியப்பட்டால், போட்டி தொடங்கிய இடத்திலிருந்து கொடுக்கப்பட்ட சரத்தில் உள்ள நிலையை வழங்கும் ],string1,string2,[ஒப்பிடவும்])

  • வாதங்கள்
வாதம் தேவை விளக்கம்

16>
[தொடக்கம்] விரும்பினால் அது தேடலைத் தொடங்கும் நிலை. இயல்புநிலை 1.
சரம்1 தேவை கொடுக்கப்பட்ட சரத்தைத் தேடும் சரம்.
சரம்2 தேவை கொடுக்கப்பட்ட சரத்திற்குள் அது தேடும் சரம்.
[ஒப்பிடவும்] விருப்பத்தேர்வு ஒப்பீடு வகையைக் குறிப்பிடும் {-1,0,1,2} இடையேயான எண் மதிப்பு. திஇயல்புநிலை -1 (vbUseCompareOption). விருப்ப ஒப்பீட்டு அறிக்கை குறிப்பிடப்படவில்லை எனில், பைனரி ஒப்பீடு செய்யவும் [தொடக்க] வாதமும் [ஒப்பிடவும்] வாதமும் விருப்பமானது, நீங்கள் [ஒப்பிடவும்] வாதத்தைக் குறிப்பிட்டால், உங்களுக்கு [தொடக்க] வாதம் தேவை. இல்லையெனில், அது பிழையை எழுப்பும்.
  • [start] வாதம் மற்றும் [compare] வாதம் ஒன்று அல்லது இரண்டும் Null<2 ஆக இருந்தால்>, நீங்கள் ஒரு பிழையைச் சந்திப்பீர்கள்.
  • [compare] வாதத்தில் உள்ள நான்கு குறிப்பிடப்பட்ட மதிப்புகள் நான்கு வெவ்வேறு வகையான ஒப்பீடுகளைச் செய்கின்றன. அவை கீழே குறிப்பிடப்பட்டுள்ளன:
  • 17>
    மதிப்பு நிலையான 1>விளக்கம்

    -1 vbUseCompareOption குறிப்பிடப்பட்ட ஒப்பீட்டைச் செய்கிறது விருப்பம் ஒப்பிட்டு அறிக்கை.
    0 vbBinary Compare ஒரு பைனரி ஒப்பீட்டைச் செய்கிறது.
    1 vbTextCompare உரை ஒப்பீட்டைச் செய்கிறது.
    2 vbDatabaseCompare உங்கள் தரவுத்தளத்தின் அடிப்படையில் ஒரு ஒப்பீட்டைச் செய்கிறது .
    • Option Compare statement என்பது முக்கிய VBA குறியீடு தொடங்கும் முன் வழங்கப்பட்ட அறிக்கையாகும். தேவைப்படும் போது குறியீடு பைனரி ஒப்பீடு அல்லது உரை ஒப்பீடு என்பதை இது குறிப்பிடுகிறது எளிமையான சொற்களில் , பைனரி ஒப்பீடு என்பது கேஸ்-சென்சிட்டிவ்ஒப்பிடல் 2>
      • சரம்2 தொடங்கப்பட்ட சரம்1 இல் உள்ள நிலையை வழங்குகிறது.
      • சரம்2 காணப்படவில்லை என்றால் string1 க்குள் தொடக்க நிலையில் இருந்து தொடங்கி, 0ஐ வழங்கும்.
      • சரம்1 பூஜ்ஜிய நீளமாக இருந்தால், 0ஐ வழங்கும்.
      • சரம்2 பூஜ்ஜிய நீளமாக இருந்தால், தொடக்கம் வாதத்தை வழங்கும்.
      • இறுதியாக, சரம்1 அல்லது string2 என்பது Null , பிழையை வழங்குகிறது.

    VBA InStr Function

    இல் பயன்படுத்த 3 எளிய எடுத்துக்காட்டுகள் இந்த பிரிவில், எக்செல் இல் VBA InStr செயல்பாட்டைப் பயன்படுத்துவதற்கான மூன்று எளிய எடுத்துக்காட்டுகளைக் காண்போம். VBA குறியீடுகளில் InStr செயல்பாட்டின் முதல் உதாரணத்தைப் பார்ப்போம்.

    1. VBA InStr செயல்பாட்டைப் பயன்படுத்தி ஒரு முகவரி மின்னஞ்சல் முகவரியா இல்லையா என்பதைத் தீர்மானித்தல்

    இங்கே, வாடிக்கையாளர்களின் சில தொடர்பு முகவரிகளைக் கொண்ட தரவுத் தொகுப்பை எடுத்துள்ளோம். முகவரிகள் மின்னஞ்சல் முகவரிகளா இல்லையா என்பதைக் கண்டறிவதே இங்கு எங்கள் குறிக்கோளாக இருக்கும்.

    இப்போது InStr செயல்பாட்டைப் பயன்படுத்தி VBA குறியீட்டை உருவாக்குவோம். அது மின்னஞ்சல் முகவரியா இல்லையா. அதைச் செய்ய, கீழே உள்ள படிகளைப் பின்பற்றவும்.

    படிகள்:

    • ஆரம்பத்தில், டெவலப்பர் தாவலுக்குச் சென்று விசுவல் பேசிக் ( அல்லது VBA ஐத் திறக்க Alt+F11) ஐ அழுத்தவும்window.

    • பின், VBA சாளரத்தில், Insert > தொகுதி .

    • அதன் பிறகு, தொகுதியில் பின்வரும் குறியீட்டை ஒட்டவும்:
    7506

    • மேலும், DECISION என்ற செயல்பாட்டை உருவாக்கியுள்ளோம். ஒரு முகவரி மின்னஞ்சல் முகவரியா இல்லையா என்பதை இது தீர்மானிக்கிறது. நம்மிடம் உள்ள தரவுத் தொகுப்பில் செயல்பாட்டைப் பயன்படுத்துவோம்.
    • C5 கலத்தில், பின்வரும் சூத்திரத்தை எழுதி, பிறகு Fill Handle ஐப் பயன்படுத்தி மீதமுள்ள கலங்களைத் தானாக நிரப்பவும்.
    =DECISION(B5)

    • நாம் பார்க்க முடியும் என, ஒவ்வொரு முகவரியையும் அது மின்னஞ்சல் முகவரியா என்பதை அடையாளம் கண்டுள்ளோம் இல்லையா
      • செயல்பாடு முடிவு(சரம்1 சரமாக)

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

      • மங்கலான நிலை முழு எண்ணாக

      இது நிலை<என்ற முழு எண் மாறியை அறிவிக்கிறது 2>.

      • நிலை = InStr(1, string1, “@”, 0)

      இது இன் மதிப்பை ஒதுக்குகிறது 1, string1, “@” மற்றும் 0 ஆகிய வாதங்களுடன் InStr செயல்பாட்டின் வெளியீட்டாக நிலை மாறி. சுருக்கமாக, இது “@” என்ற முகவரியில் உள்ள நிலையை ஒதுக்குகிறது.

      • நிலை = 0 எனில் முடிவு = “மின்னஞ்சல் அல்ல”

      இது முடிவு செயல்பாட்டின் வெளியீட்டை “மின்னஞ்சல் அல்ல” என ஒதுக்குகிறது, என்றால் நிலை மாறி 0 , அதாவது முகவரியில் "@" இல்லை 1>InStr செயல்பாடு 0 என்பதை வழங்குகிறது).

      • இல்லை முடிவு = “மின்னஞ்சல்”

      இது ஒதுக்குகிறது முகவரியில் “@” இருந்தால், DECISION செயல்பாட்டின் வெளியீடு “மின்னஞ்சல்” . இவ்வாறு “@” இருக்கும் முகவரிகள் மின்னஞ்சல் என்றும், மீதமுள்ளவை “மின்னஞ்சல் அல்ல” என்றும் வகைப்படுத்தப்படுகின்றன.

      இதே மாதிரியான அளவீடுகள்

      • எக்செல் இல் VBA UCASE செயல்பாட்டை எவ்வாறு பயன்படுத்துவது (4 எடுத்துக்காட்டுகள்)
      • Excel VBA இல் MsgBox செயல்பாட்டைப் பயன்படுத்தவும் (ஒரு முழுமையான வழிகாட்டுதல்)
      • எக்செல் இல் VBA SPLIT செயல்பாட்டை எவ்வாறு பயன்படுத்துவது (5 எடுத்துக்காட்டுகள்)
      • எக்செல் இல் VBA இல் LCase செயல்பாட்டைப் பயன்படுத்தவும் (உடன் 4 எடுத்துக்காட்டுகள்)
      • எக்செல் VBA இல் Fix Function ஐ எவ்வாறு பயன்படுத்துவது (4 எடுத்துக்காட்டுகள்)

      2. சில மின்னஞ்சல் முகவரிகளின் நீட்டிப்பைப் பிரித்தெடுப்பதற்கு VBA InStr செயல்பாட்டைப் பயன்படுத்துதல்

      இங்கே, சில வாடிக்கையாளர்களின் சில மின்னஞ்சல் முகவரிகளின் பட்டியல் எங்களிடம் உள்ளது. இந்த முறை அவர்கள் gmail.com அல்லது yahoo.com .

      போன்ற மின்னஞ்சல் முகவரியின் நீட்டிப்பை பிரித்தெடுப்போம். அதைச் செய்ய, கீழே உள்ள படிகளைப் பின்பற்றவும்.

      படிகள்:

      • தொடங்க, முந்தைய முறையைப் போலவே, புதிய VBA<2ஐத் திறக்கவும்> தொகுதி மற்றும் சாளரத்தில் பின்வரும் குறியீட்டை ஒட்டவும்.
      7482

      • கூடுதலாக, நாங்கள் ஒரு செயல்பாட்டை உருவாக்கியுள்ளோம் நீட்டிப்பு . இது எந்த மின்னஞ்சல் முகவரியின் நீட்டிப்பையும் பிரித்தெடுக்கிறது.
      • மேலும், நம்மிடம் உள்ள தரவுத் தொகுப்பில் இந்தச் செயல்பாட்டைப் பயன்படுத்துவோம். முதலில், இந்த சூத்திரத்தை செல் C5 இல் உள்ளிடவும், பின்னர் Fill Handle ஐ இருமுறை கிளிக் செய்யவும்.
      =EXTENSION(B5)

      • கடைசியாக, எல்லா மின்னஞ்சல்களின் நீட்டிப்பையும் வெற்றிகரமாகப் பிரித்தெடுத்ததைக் காணலாம்.

      🎓 குறியீடு எவ்வாறு செயல்படுகிறது?

      • Function EXTENSION(Email as String)

      இது EXTENSION என்ற புதிய செயல்பாட்டை உருவாக்குகிறது. சர வாதம் மின்னஞ்சல் என பெயரிடப்பட்டது.

      • மங்கலான நிலை முழு எண்ணாக

      இந்த பகுதி நிலை என்ற முழு எண் மாறியை அறிவிக்கிறது .

      • நிலை = InStr(1, மின்னஞ்சல், “@”, 0)

      இது <1 இன் மதிப்பை ஒதுக்குகிறது 1, மின்னஞ்சல், “@” மற்றும் 0 ஆகிய வாதங்களுடன் InStr செயல்பாட்டின் வெளியீட்டாக> நிலை மாறி. சுருக்கமாக, இது “@” உள்ள மின்னஞ்சலில் நிலையை ஒதுக்குகிறது.

      • EXTENSION = Right(Email, (Len (மின்னஞ்சல்) – நிலை))

      இந்தப் பகுதி “@” என்ற குறியீட்டிற்குப் பின் வரும் எழுத்துகளாக EXTENSION செயல்பாட்டின் வெளியீட்டை ஒதுக்குகிறது. இது மின்னஞ்சல் இன் தேவையான நீட்டிப்பு.

      3. VBA InStr செயல்பாட்டைப் பயன்படுத்தி ஒரு பெயரிலிருந்து முதல் அல்லது கடைசிப் பெயரைப் பிரித்தெடுத்தல்

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

      அதைச் செய்ய, கீழே உள்ள படிகளைப் பின்பற்றவும்.

      0> படிகள்:
      • முதலில், முறை 1 ஐப் போலவே, கீழேயுள்ள குறியீட்டை VBA  சாளரத்தில் புதிய தொகுதியில் ஒட்டவும்.
      6591

      • இங்கே, SHORTNAME என்ற செயல்பாட்டை உருவாக்கியுள்ளோம், அது பெயரிலிருந்து முதல் பெயர் அல்லது கடைசிப் பெயரைப் பிரித்தெடுக்கிறது. இந்த சூத்திரத்தை நமது தரவுத் தொகுப்பில் பயன்படுத்துவோம்.
      • முதலில், முதல் பெயரைப் பிரித்தெடுக்க, கீழே உள்ள சூத்திரத்தை செல் C5 இல் எழுதவும்.
      <7 =SHORTNAME(B5,-1)

      • கடைசியாக, கடைசிப் பெயர்களைப் பிரித்தெடுக்க, பின்வரும் சூத்திரத்தை D5 :
      • இல் எழுதுகிறோம் 11> =SHORTNAME(B5,1)

        • பிறகு, Fill Handler<2 மூலம் மீதமுள்ள செல்களை தானாக நிரப்பினால்>, நாங்கள் விரும்பிய முடிவைப் பார்ப்போம்.

        🎓 குறியீடு எவ்வாறு செயல்படுகிறது?

        • செயல்பாடு SHORTNAME(பெயர் சரம், முதல்_அல்லது_கடைசி முழு எண்)

        இது SHORTNAME<2 என்ற புதிய செயல்பாட்டை உருவாக்குகிறது> பெயர் என்ற பெயரிடப்பட்ட ஒரு சரம் மதிப்புரு மற்றும் முதல்_அல்லது_கடைசி என்ற பெயரில் ஒரு முழு எண் வாதம்.

        • Dim Break As Integer
        • <11

          இந்தப் பகுதி பிரேக் என்ற புதிய முழு எண் மாறியை அறிவிக்கிறது.

          • பிரேக் = InStr(1, பெயர், ” “, 0) <10

          இது Break மாறியின் மதிப்பை InStr செயல்பாட்டின் வெளியீட்டாக வாதங்களுடன் ஒதுக்குகிறது. 1, பெயர், “ ” மற்றும் 0 . சுருக்கமாக, இது பெயர் இல் இடைவெளி (“ ”) உள்ள நிலையை ஒதுக்குகிறது.

          • First_or_Last = -1 பிறகு SHORTNAME = இடது(பெயர், இடைவெளி – 1)

          இந்த வரியானது SHORTNAME செயல்பாட்டின் வெளியீட்டை ஸ்பேஸ் க்கு முன் எழுத்துகளாக ஒதுக்குகிறது, First_or_Last வாதம் -1 என்றால். இதுவே முதல் பெயர்.

          • SHORTNAME = வலது(பெயர், லென்(பெயர்) – பிரேக்)

          இந்தப் பகுதியின் வெளியீட்டை ஒதுக்குகிறது First_or_Last வாதம் 1 எனில், SHORTNAME என்பது இடைவெளி க்குப் பின் எழுத்துகளாகச் செயல்படும். இது கடைசிப் பெயர்.

          முடிவு

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

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