VBA ഉപയോഗിച്ച് സബ്‌സ്ട്രിംഗ് എങ്ങനെ കണ്ടെത്താം (9 വഴികൾ)

  • ഇത് പങ്കുവയ്ക്കുക
Hugh West

ഉള്ളടക്ക പട്ടിക

VBA ഉപയോഗിച്ച് സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്താനുള്ള ചില എളുപ്പവഴികൾ നിങ്ങൾ തിരയുകയാണെങ്കിൽ, നിങ്ങൾ ശരിയായ സ്ഥലത്താണ്. ഈ ലേഖനത്തിലൂടെ കടന്നുപോയ ശേഷം, നിങ്ങൾക്ക് ഒരു സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം കണ്ടെത്താനോ ഈ സബ്‌സ്ട്രിംഗ് ഉപയോഗിച്ച് ഡാറ്റ എക്‌സ്‌ട്രാക്റ്റുചെയ്യാനോ അല്ലെങ്കിൽ ഒരു സബ്‌സ്‌ട്രിംഗിന്റെ ഫോർമാറ്റ് എളുപ്പത്തിൽ മാറ്റാനോ കഴിയും. നമുക്ക് ലേഖനത്തിലേക്ക് കടക്കാം.

വർക്ക്ബുക്ക് ഡൗൺലോഡ് ചെയ്യുക

സാമ്പിൾ ഉള്ളടക്കം

VBA ഉപയോഗിച്ച് സബ്‌സ്ട്രിംഗ് കണ്ടെത്താനുള്ള 9 വഴികൾ

ഇവിടെ, എനിക്ക് ഇനിപ്പറയുന്നവയുണ്ട് VBA ഉപയോഗിച്ച് ഒരു സ്ട്രിംഗിൽ സബ്‌സ്ട്രിംഗ് കണ്ടെത്തുന്നതിനുള്ള വഴികൾ ഞാൻ കാണിക്കുന്ന ഡാറ്റ പട്ടിക. ഒരു റാൻഡം സ്‌ട്രിംഗിൽ സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്തുന്നതിനുള്ള വഴികൾ കാണിക്കാനും ഞാൻ ശ്രമിക്കും.

ഞാൻ ഈ ടാസ്‌ക് ചെയ്തത് Microsoft Excel 365 പതിപ്പ് ഉപയോഗിച്ചാണ്, നിങ്ങളുടെ സൗകര്യത്തിനനുസരിച്ച് നിങ്ങൾക്ക് മറ്റേതെങ്കിലും പതിപ്പ് ഉപയോഗിക്കാം.

രീതി-1: VBA ഉപയോഗിച്ച് ഒരു സ്‌ട്രിംഗിൽ സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്തൽ

VBA ഉപയോഗിച്ച് ഒരു സ്‌ട്രിംഗിൽ നിങ്ങൾ ആഗ്രഹിക്കുന്ന സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്തണമെങ്കിൽ, നിങ്ങൾക്ക് <ഉപയോഗിക്കാം. 11>VBA കോഡിലെ InStr ഫംഗ്‌ഷൻ .

ഘട്ടം-01 :

Developer Tab>><എന്നതിലേക്ക് പോകുക 11>വിഷ്വൽ ബേസിക് ഓപ്‌ഷൻ

അപ്പോൾ, വിഷ്വൽ ബേസിക് എഡിറ്റർ തുറക്കും.

➤ <11-ലേക്ക് പോകുക ടാബ്>> മൊഡ്യൂൾ ഓപ്‌ഷൻ

തിരുകുക, അതിനുശേഷം, ഒരു മൊഡ്യൂൾ സൃഷ്‌ടിക്കും.

ഘട്ടം-02 :

➤ഇനിപ്പറയുന്ന കോഡ് എഴുതുക

7554

ഇവിടെ, InStr(1, “ അതിനാൽ ഞാൻ ആണെന്ന് കരുതുന്നു”, “ചിന്തിക്കുക”) ഒരു സ്ട്രിംഗിന്റെ ഉപസ്‌ട്രിംഗിന്റെ സ്ഥാനം തിരികെ നൽകും. 1 ആണ്സ്റ്റാർട്ട് പൊസിഷൻ, “ ഞാൻ കരുതുന്നു അതുകൊണ്ട് ഞാനാണ്” നിങ്ങൾ ആഗ്രഹിക്കുന്ന സബ്‌സ്ട്രിംഗ് കണ്ടെത്തുന്ന സ്‌ട്രിംഗ് ആണ്, കൂടാതെ “ചിന്തിക്കുക” നിങ്ങൾ കണ്ടെത്താൻ ആഗ്രഹിക്കുന്ന ഉപസ്‌ട്രിംഗാണ്. ഇത് ഡിഫോൾട്ടായി കേസ്-സെൻസിറ്റീവ് ആയതിനാൽ നിങ്ങൾ തിരയാൻ ആഗ്രഹിക്കുന്ന നിങ്ങളുടെ സബ്‌സ്‌ട്രിംഗിന്റെ കാര്യം സൂക്ഷിക്കുക.

F5

അമർത്തുക ഫലം :

അതിനുശേഷം, “ചിന്തിക്കുക” സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം ഉൾക്കൊള്ളുന്ന ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് നിങ്ങൾക്ക് ലഭിക്കും.

രീതി-2: ഒരു സ്‌ട്രിംഗിൽ കേസ്-ഇൻസെൻസിറ്റീവ് സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്തൽ

VBA ഉപയോഗിച്ച് കേസ് പരിഗണിക്കാതെ ഒരു സ്‌ട്രിംഗിൽ നിങ്ങൾ ആഗ്രഹിക്കുന്ന സബ്‌സ്‌ട്രിംഗിനെ കണ്ടെത്തണമെങ്കിൽ, ഇത് പിന്തുടരുക രീതി 0>ഇവിടെ, vbTextCompare എന്നത് കേസ്-ഇൻസെൻസിറ്റീവ് സബ്‌സ്ട്രിംഗ് കണ്ടെത്താൻ ഉപയോഗിക്കുന്നു.

F5

അമർത്തുക ഫലം :

അതിനുശേഷം, “ചിന്തിക്കുക” സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം ഉൾക്കൊള്ളുന്ന ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് നിങ്ങൾക്ക് ലഭിക്കും.

<0

ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയും.

6420

ഇവിടെ, ടെക്‌സ്‌റ്റ് താരതമ്യം ചെയ്യുക ഓപ്‌ഷൻ കേസ്-ഇൻസെൻസിറ്റീവ് സബ്‌സ്ട്രിംഗ് കണ്ടെത്തും.

F5

ഫലം :

അമർത്തുക, നിങ്ങൾ “ചിന്തിക്കുക” സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം ഉൾക്കൊള്ളുന്ന ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് ലഭിക്കും.

രീതി-3: InstrRev ഫംഗ്‌ഷൻ ഉപയോഗിക്കുന്നു VBA-ൽ

ഇവിടെ, ഒരു ഉപസ്‌ട്രിംഗിന്റെ അവസാനത്തിൽ നിന്ന് ഒരു സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്താനുള്ള വഴി ഞാൻ കാണിക്കുംസ്ട്രിംഗ്.

ഘട്ടം-01 :

ഘട്ടം-01 ന്റെ രീതി-1

8914

InStrRev ഇടത് വശത്തിന് പകരം വലത് വശത്ത് നിന്ന് സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്തും.

F5

അമർത്തുക

ഫലം :

അപ്പോൾ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് ഇതിൽ നിന്ന് രണ്ടാമത്തെ “I” ഉപസ്‌ട്രിംഗിന്റെ സ്ഥാനം ലഭിക്കും. വലത് വശം.

രീതി-4: ഡാറ്റയുടെ ഒരു ശ്രേണിയിലെ ഒരു സ്‌ട്രിംഗിലെ സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം കണ്ടെത്തൽ

നിങ്ങൾക്ക് പ്രത്യേക പ്രതീകം കണ്ടെത്തണമെങ്കിൽ “@” ഇമെയിൽ ഐഡിയിൽ , തുടർന്ന് ഈ രീതി പിന്തുടരുക. ഈ ആവശ്യത്തിനായി ഞാൻ ഇവിടെ സ്ഥാന കോളം ചേർത്തു.

ഘട്ടം-01 :

➤പിന്തുടരുക Step-01 of Method-1

6860

ഇത് FindSubstring (നിങ്ങൾക്ക് മറ്റേതെങ്കിലും പേര് ഉപയോഗിക്കാം)

എന്ന പേരിൽ ഒരു ഫംഗ്‌ഷൻ സൃഷ്‌ടിക്കും.

മൂല്യം എന്നത് സ്ട്രിംഗ് അടങ്ങിയിരിക്കുന്ന സെൽ റഫറൻസാണ്, അത് റേഞ്ച് ആയി പ്രഖ്യാപിക്കപ്പെടുന്നു.

ഘട്ടം -02 :

➤ഔട്ട്‌പുട്ട് തിരഞ്ഞെടുക്കുക സെൽ E5

➤ഇനിപ്പറയുന്ന ഫംഗ്‌ഷൻ ടൈപ്പ് ചെയ്യുക ( VBA സൃഷ്‌ടിച്ചത്)

=FindSubstring(D5)

D5 എന്നത് സ്ട്രിംഗ് അടങ്ങുന്ന സെല്ലാണ്.

അമർത്തുക ENTER

ഫിൽ ഹാൻഡിൽ ടൂൾ

ഫലം :

അതിനുശേഷം, ഇമെയിൽ ഐഡിയിൽ @” എന്ന പ്രത്യേക പ്രതീകത്തിന്റെ സ്ഥാനങ്ങൾ നിങ്ങൾക്ക് ലഭിക്കും.

സമാന വായനകൾ:

  • എങ്ങനെ കണ്ടെത്താംExcel-ൽ VBA ഉപയോഗിച്ച് ഒരു സെല്ലിലെ സ്ട്രിംഗ് Excel-ലെ VBA (8 ഉദാഹരണങ്ങൾ)
  • VBA Excel-ൽ അവസാനത്തെ വരി കണ്ടെത്തുക (5 വഴികൾ)

രീതി-5: ഒരു ചില സബ്‌സ്‌ട്രിംഗുകൾ പരിശോധിക്കുന്നു ഡാറ്റയുടെ ഒരു ശ്രേണിയിലെ ഒരു സ്ട്രിംഗ്

നിങ്ങൾ പാസ് അല്ലെങ്കിൽ പരാജയം എന്ന് ഫല കോളത്തെ ആശ്രയിച്ച് വിദ്യാർത്ഥികളുടെ പേരുകൾ എഴുതണമെന്ന് കരുതുക. ഇവിടെ പാസ് അല്ലെങ്കിൽ പരാജയം എന്ന് ഒരു ബ്രാക്കറ്റിൽ എഴുതിയിരിക്കുന്നു. ഫല കോളത്തിൽ ഈ സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്താനും അത് പാസ് അല്ലെങ്കിൽ പരാജയം എന്ന കോളത്തിൽ എഴുതാനും ഈ രീതി പിന്തുടരുക.

Step-01 :

Step-01 of Method-1

2945

ഇവിടെ, സെൽ ശ്രേണി <ആണ് 11>C5:C10 ഇത് ഫല കോളമാണ്

InStr(cell.value, “Pass”) > 0 എന്നത് പൂജ്യത്തേക്കാൾ വലുതായിരിക്കുന്ന അവസ്ഥയാണ് (സെല്ലിൽ “പാസ്” അടങ്ങിയിരിക്കുമ്പോൾ)  തുടർന്ന് ഇനിപ്പറയുന്ന വരി തുടരുകയും അടുത്തുള്ള സെല്ലിൽ പാസ് ചെയ്തു<12 എന്ന് ഔട്ട്‌പുട്ട് നൽകുകയും ചെയ്യും>.

കണ്ടീഷൻ തെറ്റാണെങ്കിൽ ഒരു സെല്ലിൽ “പാസ്” ഒന്നും അടങ്ങിയിട്ടില്ലെങ്കിൽ ഇല്ലെങ്കിൽ എന്ന ലൈൻ എക്സിക്യൂട്ട് ചെയ്യുകയും ഔട്ട്പുട്ട് മൂല്യം നൽകുകയും ചെയ്യും തൊട്ടടുത്തുള്ള സെൽ പരാജയപ്പെട്ടു .

ഓരോ സെല്ലിനും ഈ ലൂപ്പ് തുടരും.

F5

ഫലം :

അപ്പോൾ, പാസ് അല്ലെങ്കിൽ പരാജയത്തിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഔട്ട്‌പുട്ടുകൾ ലഭിക്കും നിര.

രീതി-6: ഒരു സ്‌ട്രിംഗിൽ ചില സബ്‌സ്‌ട്രിംഗ് പരിശോധിച്ച് ഡാറ്റ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുന്നു

പേരുള്ള വിദ്യാർത്ഥികളെ കണ്ടെത്താനുള്ള വഴി ഞാൻ കാണിക്കും മൈക്കൽ വിദ്യാർത്ഥിയുടെ പേര് കോളത്തിൽ കൂടാതെ ഈ രീതിയിൽ VBA ഉപയോഗിച്ച് അവരുടെ അനുബന്ധ ഡാറ്റ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുക.

Step-01 :

Step-01 of Method-1

4232

ഇവിടെ, ഞാൻ ഉപയോഗിച്ചത് B100 ആക്‌റ്റീവ് ഷീറ്റ് റേഞ്ച് ആയി, എന്നാൽ നിങ്ങളുടെ ഉപയോഗത്തിനനുസരിച്ച് നിങ്ങൾക്ക് ഏത് ശ്രേണിയും ഉപയോഗിക്കാം.

InStr(1, Range("B" & i), "Michael") > 0 എന്നത് സെൽ ഇൻ ആണോ എന്ന് പരിശോധിക്കുന്നതിനുള്ള വ്യവസ്ഥയാണ്. B നിരയിൽ മൈക്കൽ

Range("E" & icount & ":G" & icount) നിങ്ങളുടെ ഔട്ട്‌പുട്ട് ഡാറ്റ ആവശ്യമുള്ള ശ്രേണിയാണ്, Range("B" & i & ":D" & i).value മൂല്യങ്ങൾ നൽകും നിരകൾ B മുതൽ D വരെ.

F5

<11 അമർത്തുക>ഫലം :

അതിനുശേഷം, മൈക്കൽ എന്ന പേരുള്ള വിദ്യാർത്ഥികൾക്കായി ഇനിപ്പറയുന്ന എക്‌സ്‌ട്രാക്റ്റുചെയ്‌ത ഡാറ്റ നിങ്ങൾക്ക് ലഭിക്കും.

<38

രീതി-7: പദത്തിനായുള്ള സബ്‌സ്ട്രിംഗ് തിരയുന്നു

നിങ്ങൾക്ക് ഉപസ്‌ട്രിംഗിനെ ഒരു പദമായി കണ്ടെത്തണമെങ്കിൽ, ഫോൾ ചെയ്യുക ഈ രീതി കുറയ്ക്കുക

2154

സ്‌ട്രിംഗിൽ ആണോ എന്ന് പരിശോധിക്കും, തുടർന്ന് അതിന്റെ സ്ഥാനം നൽകും

F5 അമർത്തുക

ഫലം :

അതിനുശേഷം, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് ലഭിക്കും, അത് പദം:6 (<11-ന്റെ സ്ഥാനം) കാണിക്കുന്നു>ആണ് ).

നിങ്ങൾക്ക് പരീക്ഷിക്കാംസ്ട്രിംഗിൽ ഇല്ലാത്ത ഒരു വാക്കിനായി ഈ കോഡ് പുറത്തെടുക്കുക 1>

ഫലം :

അതിനുശേഷം, വാക്ക് കണ്ടെത്തിയില്ല കാണിക്കുന്ന ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് നിങ്ങൾക്ക് ലഭിക്കും.

രീതി-8: Instr ഉം LEFT ഫംഗ്‌ഷനും ഉപയോഗിച്ച്

ഒരു സ്‌ട്രിംഗിലെ ഒരു സബ്‌സ്‌ട്രിംഗിന്റെ സ്ഥാനം കണ്ടെത്തുന്നതിനും ഉപയോഗിച്ച് ഈ സബ്‌സ്‌ട്രിംഗിന് മുമ്പുള്ള ടെക്‌സ്‌റ്റുകൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുമുള്ള വഴി ഞാൻ ഇവിടെ വിശദീകരിക്കും. VBA ഉം ഇടത് പ്രവർത്തനം .

ഘട്ടം-01 :

ഘട്ടം-01 പിന്തുടരുക 11>രീതി-1

8460

j = InStr(txt, "is") ഉപസ്‌ട്രിംഗിന്റെ സ്ഥാനം ആണ് ആണ് Left(txt, j - 1) ഉം <11-ന് മുമ്പ് ഉപസ്‌ട്രിംഗുകൾ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യും>ആണ് .

F5

ഫലം :

അമർത്തുക അതിനുശേഷം, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സന്ദേശ ബോക്‌സ് ലഭിക്കും, അത് ഇവിടെ ( ആണ് -ന് മുമ്പുള്ള സബ്‌സ്‌ട്രിംഗ്).

രീതി-9: ബോൾഡിംഗ് ഒരു സ്‌ട്രിംഗിലെ ചില സബ്‌സ്‌ട്രിംഗ്

നിങ്ങൾക്ക് ഈ രീതി പിന്തുടർന്ന് ഫല കോളത്തിലെ ഗ്രേഡുകൾ ബ്രാക്കറ്റുകൾക്ക് മുമ്പായി ബോൾഡ് ചെയ്യാം d.

ഘട്ടം-01 :

ഘട്ടം-01 രീതി- പിന്തുടരുക- 1

2201

txt = InStr(1, Cell, "(") ആദ്യത്തെ ബ്രാക്കറ്റിന്റെ സ്ഥാനം തിരികെ നൽകും, Cell.Characters(1, txt - 1).Font.Bold ആദ്യത്തെ ബ്രാക്കറ്റിന് മുമ്പായി സബ്‌സ്‌ട്രിംഗിനെ ബോൾഡ് ആക്കും.

ഘട്ടം-02 :

ഫല കോളം തിരഞ്ഞെടുക്കുക

➤Go ഡെവലപ്പർ ടാബ്>> മാക്രോകൾ ഓപ്‌ഷൻ

പിന്നെ, ഒരു മാക്രോ വിസാർഡ് ദൃശ്യമാകും.

Boldingsubstring (VBA കോഡ് നാമം) തിരഞ്ഞെടുക്കുക, തുടർന്ന് Run .

ഫലം :

അതിനുശേഷം, ഫലം കോളം ലെ ഗ്രേഡുകൾ ബോൾഡ് ചെയ്യും.

പ്രാക്ടീസ് വിഭാഗം

സ്വയം പ്രാക്ടീസ് ചെയ്യുന്നതിനായി പരിശീലനം എന്ന പേരിലുള്ള ഷീറ്റിൽ ഞങ്ങൾ പ്രാക്ടീസ് വിഭാഗം നൽകിയിട്ടുണ്ട്. ദയവായി ഇത് സ്വയം ചെയ്യുക.

ഉപസംഹാരം

ഈ ലേഖനത്തിൽ, VBA ഉപയോഗിച്ച് സബ്‌സ്‌ട്രിംഗ് കണ്ടെത്താനുള്ള എളുപ്പവഴികൾ കവർ ചെയ്യാൻ ഞാൻ ശ്രമിച്ചു. Excel-ൽ ഫലപ്രദമായി. നിങ്ങൾക്ക് ഇത് ഉപയോഗപ്രദമാകുമെന്ന് പ്രതീക്ഷിക്കുന്നു. നിങ്ങൾക്ക് എന്തെങ്കിലും നിർദ്ദേശങ്ങളോ ചോദ്യങ്ങളോ ഉണ്ടെങ്കിൽ, അവ ഞങ്ങളുമായി പങ്കിടാൻ മടിക്കേണ്ടതില്ല.

വ്യവസായത്തിൽ 10 വർഷത്തിലേറെ അനുഭവപരിചയമുള്ള വളരെ പരിചയസമ്പന്നനായ എക്സൽ പരിശീലകനും അനലിസ്റ്റുമാണ് ഹ്യൂ വെസ്റ്റ്. അക്കൗണ്ടിംഗ്, ഫിനാൻസ് എന്നിവയിൽ ബിരുദവും ബിസിനസ് അഡ്മിനിസ്ട്രേഷനിൽ ബിരുദാനന്തര ബിരുദവും നേടിയിട്ടുണ്ട്. ഹ്യൂവിന് അധ്യാപനത്തിൽ അഭിനിവേശമുണ്ട് കൂടാതെ പിന്തുടരാനും മനസ്സിലാക്കാനും എളുപ്പമുള്ള ഒരു അദ്വിതീയ അധ്യാപന സമീപനം വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. എക്സലിനെ കുറിച്ചുള്ള അദ്ദേഹത്തിന്റെ വിദഗ്ദ്ധ പരിജ്ഞാനം ലോകമെമ്പാടുമുള്ള ആയിരക്കണക്കിന് വിദ്യാർത്ഥികളെയും പ്രൊഫഷണലുകളെയും അവരുടെ കഴിവുകൾ മെച്ചപ്പെടുത്തുന്നതിനും അവരുടെ കരിയറിൽ മികവ് പുലർത്തുന്നതിനും സഹായിച്ചിട്ടുണ്ട്. തന്റെ ബ്ലോഗിലൂടെ, ഹ്യൂ തന്റെ അറിവ് ലോകവുമായി പങ്കിടുന്നു, സൗജന്യ എക്സൽ ട്യൂട്ടോറിയലുകളും ഓൺലൈൻ പരിശീലനവും വാഗ്ദാനം ചെയ്യുന്നു, വ്യക്തികളെയും ബിസിനസ്സുകളെയും അവരുടെ പൂർണ്ണ ശേഷിയിൽ എത്തിക്കാൻ സഹായിക്കുന്നു.