VBA ਵਿੱਚ ਫਾਈਂਡ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ (6 ਉਦਾਹਰਨਾਂ)

  • ਇਸ ਨੂੰ ਸਾਂਝਾ ਕਰੋ
Hugh West

ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਅਤੇ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਜੋ ਅਸੀਂ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਐਪਲੀਕੇਸ਼ਨ (VBA) ਵਿੱਚ ਵਰਤਦੇ ਹਾਂ ਫੰਕਸ਼ਨ ਹੈ। ਇਸ ਲੇਖ ਵਿੱਚ, ਮੈਂ ਤੁਹਾਨੂੰ ਦਿਖਾਵਾਂਗਾ ਕਿ ਤੁਸੀਂ Excel ਦੇ FIND ਫੰਕਸ਼ਨ ਉਚਿਤ ਉਦਾਹਰਣਾਂ ਅਤੇ ਦ੍ਰਿਸ਼ਟਾਂਤ ਨਾਲ ਕਿਵੇਂ ਵਰਤ ਸਕਦੇ ਹੋ।

ਪ੍ਰੈਕਟਿਸ ਵਰਕਬੁੱਕ ਡਾਊਨਲੋਡ ਕਰੋ

Excel.xlsm ਵਿੱਚ VBA ਵਿੱਚ ਫੰਕਸ਼ਨ ਲੱਭੋ

6 VBA ਵਿੱਚ FIND ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਤੁਰੰਤ ਉਦਾਹਰਨਾਂ

ਅਸੀਂ ਇੱਥੇ ਹਾਂ ਮਾਰਟਿਨ ਬੁੱਕਸਟੋਰ ਨਾਮਕ ਇੱਕ ਕਿਤਾਬਾਂ ਦੀ ਦੁਕਾਨ ਦੀਆਂ ਕਿਤਾਬਾਂ ਦੇ ਨਾਮ, ਲੇਖਕ ਅਤੇ ਕੀਮਤਾਂ ਦੇ ਨਾਲ ਇੱਕ ਡੇਟਾ ਸੈੱਟ ਪ੍ਰਾਪਤ ਕੀਤਾ।

ਅੱਜ ਸਾਡਾ ਉਦੇਸ਼ ਇਸ ਡੇਟਾ ਸੈੱਟ ਤੋਂ VBA ਦੇ Find ਫੰਕਸ਼ਨ ਦੀਆਂ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੀਆਂ ਵਰਤੋਂ ਦੇਖਣਾ ਹੈ।

1. VBA ਵਿੱਚ ਫਾਈਂਡ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਬਿਨਾਂ ਪੈਰਾਮੀਟਰ

ਤੁਸੀਂ VBA ਦੇ Find ਫੰਕਸ਼ਨ ਨੂੰ ਬਿਨਾਂ ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਵਰਤ ਸਕਦੇ ਹੋ।

ਫਿਰ ਇਹ ਸੈੱਲਾਂ ਦੀ ਇੱਕ ਰੇਂਜ ਦੇ ਅੰਦਰ ਇੱਕ ਖਾਸ ਮੁੱਲ ਦੀ ਖੋਜ ਕਰੇਗਾ ਅਤੇ ਇਸ ਨੂੰ ਲੱਭਿਆ ਪਹਿਲਾ ਮਿਲਾਨ ਵਾਪਸ ਕਰੇਗਾ।

ਆਓ ਨਾਮ “ਪੀ. B. Shelly” ਕਾਲਮ Author ( C4:C13 ) ਵਿੱਚ।

Find ਫੰਕਸ਼ਨ ਵਾਲੀ ਲਾਈਨ ਇਹ ਹੋਵੇਗੀ:

Set cell = Range("C4:C17").Find("P. B. Shelly")

ਪੂਰਾ VBA ਕੋਡ ਹੋਵੇਗਾ:

VBA ਕੋਡ:

9712

ਆਉਟਪੁੱਟ:

ਇਹ ਇੱਕ ਪੈਦਾ ਕਰਦਾ ਹੈ ਮੈਕਰੋ ਨੂੰ ਲੱਭੋ ਕਹਿੰਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਮੈਕਰੋ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ $C$6 , ਨਾਮ P ਨਾਲ ਪਹਿਲਾ ਸੈੱਲ ਪਤਾ ਵਾਪਸ ਕਰੇਗਾ। ਬੀ. ਸ਼ੈਲੀ

ਹੋਰ ਪੜ੍ਹੋ: ਵੀਬੀਏ ਨਾਲ ਇੱਕ ਰੇਂਜ ਵਿੱਚ ਲੱਭੋਐਕਸਲ: ਸਟੀਕ ਅਤੇ ਅੰਸ਼ਕ ਮੈਚਾਂ ਸਮੇਤ

2. VBA ਵਿੱਚ ਫੰਕਸ਼ਨ ਫੰਕਸ਼ਨ ਨੂੰ ਆਫਟਰ ਪੈਰਾਮੀਟਰ ਨਾਲ ਲਾਗੂ ਕਰੋ (ਇੱਕ ਖਾਸ ਸੈੱਲ ਤੋਂ ਖੋਜ ਸ਼ੁਰੂ ਕਰਨ ਲਈ)

ਤੁਸੀਂ Find ਫੰਕਸ਼ਨ ਨਾਲ After ਪੈਰਾਮੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ VBA ਵਿੱਚ। ਫਿਰ ਇਹ ਇੱਕ ਸੀਮਾ ਦੇ ਅੰਦਰ ਇੱਕ ਸੈੱਲ ਦੇ ਹੇਠਾਂ ਤੋਂ ਇੱਕ ਮੁੱਲ ਦੀ ਖੋਜ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ।

ਉਦਾਹਰਣ ਲਈ, ਆਓ ਨਾਮ ਦੀ ਖੋਜ ਸ਼ੁਰੂ ਕਰੀਏ “ਪੀ. B. Shelly” ਹੇਠਲੇ ਸੈੱਲ C6 ਤੋਂ।

ਕੋਡ ਦੀ ਲਾਈਨ ਇਹ ਹੋਵੇਗੀ:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

ਅਤੇ ਪੂਰਾ VBA ਕੋਡ ਹੋਵੇਗਾ:

VBA ਕੋਡ:

9233

ਆਉਟਪੁੱਟ:

ਇਹ ਵਾਪਸ ਆਵੇਗਾ $C$13 ਕਿਉਂਕਿ ਇਹ ਹੇਠਾਂ ਸੈੱਲ C6 ਤੋਂ ਖੋਜਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਸੈੱਲ C7 ਤੋਂ ਹੈ। ਇਸ ਲਈ ਇਹ ਪੀ. B. ਸ਼ੈਲੀ ਸੈੱਲ C13 ਵਿੱਚ ਪਹਿਲਾਂ।

ਹੋਰ ਪੜ੍ਹੋ: ਇੱਕ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਕਿਵੇਂ ਲੱਭੀਏ ਐਕਸਲ ਵਿੱਚ VBA ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲਾ ਸੈੱਲ

3. VBA ਵਿੱਚ ਫਾਈਂਡ ਫੰਕਸ਼ਨ ਨੂੰ ਆਫਟਰ ਪੈਰਾਮੀਟਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਲਪੇਟ ਕੇ ਚਲਾਓ (ਸਰਕੂਲਰ ਤਰੀਕੇ ਨਾਲ ਕਿਸੇ ਮੁੱਲ ਦੀ ਖੋਜ ਕਰਨ ਲਈ)

ਫਾਈਂਡ ਫੰਕਸ਼ਨ<2 ਨਾਲ ਬਾਅਦ ਪੈਰਾਮੀਟਰ> ਇੱਕ ਸਰਕੂਲਰ ਤਰੀਕੇ ਨਾਲ ਇੱਕ ਮੁੱਲ ਦੀ ਖੋਜ ਕਰਦਾ ਹੈ

ਭਾਵ, ਇਹ ਇੱਕ ਸੀਮਾ ਦੇ ਅੰਦਰ ਇੱਕ ਸੈੱਲ ਦੇ ਹੇਠਾਂ ਤੋਂ ਖੋਜ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਰੇਂਜ ਵਿੱਚ ਖੋਜ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਦੁਬਾਰਾ ਰੇਂਜ ਦੇ ਸਿਖਰ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।

ਉਦਾਹਰਣ ਲਈ, ਆਓ After ਪੈਰਾਮੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਹੇਠਾਂ ਸੈੱਲ C8 ਤੋਂ “John Keats” ਨਾਮ ਨੂੰ ਖੋਜਣਾ ਸ਼ੁਰੂ ਕਰੀਏ।

ਦੀ ਲਾਈਨ ਕੋਡ ਹੋਵੇਗਾ:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

ਅਤੇਪੂਰਾ VBA ਕੋਡ ਹੋਵੇਗਾ:

VBA ਕੋਡ:

1125

ਆਉਟਪੁੱਟ:

ਇਹ $C$7 ਵਾਪਸ ਆਵੇਗਾ ਕਿਉਂਕਿ ਇਹ ਹੇਠਾਂ ਸੈੱਲ C8 ਤੋਂ ਖੋਜਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਇਸ ਤੋਂ ਹੈ ਸੈੱਲ C9

ਇਹ ਸੈੱਲ C13 ਤੱਕ ਕੁਝ ਨਹੀਂ ਲੱਭਦਾ, ਇਸਲਈ ਇਹ ਦੁਬਾਰਾ ਸੈੱਲ C4 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸੈੱਲ ਵਿੱਚ ਇੱਕ ਲੱਭਦਾ ਹੈ C7 .

ਮਿਲਦੀਆਂ ਰੀਡਿੰਗਾਂ:

  • VBA ਨਾਲ ਸਟ੍ਰਿੰਗ ਕਿਵੇਂ ਲੱਭੀਏ ਐਕਸਲ ਵਿੱਚ (8 ਉਦਾਹਰਨਾਂ)
  • ਐਕਸਲ ਵਿੱਚ VBA ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਹੀ ਮੇਲ ਲੱਭੋ (5 ਤਰੀਕੇ)
  • ਵੀਬੀਏ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਿਵੇਂ ਲੱਭੋ ਅਤੇ ਬਦਲੋ (11) ਤਰੀਕੇ)

4. ਲੁੱਕਐਟ ਪੈਰਾਮੀਟਰ ਨਾਲ VBA ਵਿੱਚ ਫਾਈਂਡ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਸਹੀ ਜਾਂ ਅੰਸ਼ਕ ਮੈਚ ਲਈ)

ਤੁਸੀਂ VBA ਵਿੱਚ Find ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।>LookAt ਪੈਰਾਮੀਟਰ।

ਇੱਕ ਸਹੀ ਮੇਲ ਲਈ LookAt = xlWhole ਦੀ ਵਰਤੋਂ ਕਰੋ, ਅਤੇ ਅੰਸ਼ਕ ਲਈ LookAt=xlPart ਦੀ ਵਰਤੋਂ ਕਰੋ ਮੈਚ।

ਉਦਾਹਰਣ ਲਈ, ਆਓ ਇਹ ਪਤਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੀਏ ਕਿ ਕੀ ਕਿਤਾਬ ਦਾ ਨਾਮ ਕਾਲਮ ( "ਓਡ" ਨਾਮ ਵਾਲੀ ਕੋਈ ਕਿਤਾਬ ਹੈ ਜਾਂ ਨਹੀਂ>B4:B13 ).

ਜੇ ਅਸੀਂ ਕੋਡ ਦੀ ਲਾਈਨ ਵਿੱਚ xlWhole ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

ਆਉਟਪੁੱਟ ਇੱਕ ਗਲਤੀ ਦਿਖਾਏਗਾ ਕਿਉਂਕਿ ਇਹ ਕੋਈ ਸਹੀ ਮੇਲ ਨਹੀਂ ਲੱਭੇਗਾ।

21>

ਪਰ ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਵਰਤਦੇ ਹੋ:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

ਫਿਰ ਇਹ ਵਾਪਸ ਆ ਜਾਵੇਗਾ $B$9 , ਕਿਉਂਕਿ ਸੈੱਲ ਵਿੱਚ “Ode” ਨਾਮ ਦੀ ਇੱਕ ਕਿਤਾਬ ਹੈ। B7 , Ode to the Nightingale.

ਇਸ ਲਈ ਅੰਸ਼ਕ ਮੈਚ ਲਈ ਪੂਰਾ ਕੋਡਹੈ:

VBA ਕੋਡ:

4932

5. ਸਰਚ ਡਾਇਰੈਕਸ਼ਨ ਪੈਰਾਮੀਟਰ (ਖੋਜ ਦੀ ਦਿਸ਼ਾ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ) ਨਾਲ VBA ਵਿੱਚ ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਚਾਲਿਤ ਕਰੋ

ਤੁਸੀਂ VBA ਵਿੱਚ Find ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਵੀ ਕਰ ਸਕਦੇ ਹੋ SearchDirection ਪੈਰਾਮੀਟਰ।

Top to Bottom ਤੋਂ ਖੋਜ ਕਰਨ ਲਈ SearchDirection = xlNext ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਅਤੇ SearchDirection = xlPrevious ਤਲ ਤੋਂ ਸਿਖਰ ਤੱਕ ਖੋਜਣ ਲਈ।

ਉਦਾਹਰਣ ਲਈ, ਆਉ ਕਾਲਮ ਲੇਖਕ ਵਿੱਚ ਲੇਖਕ ਏਲੀਫ ਸ਼ਫਾਕ ਨੂੰ ਲੱਭਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੀਏ। ( C4:C13 )।

ਜੇ ਅਸੀਂ ਕੋਡ ਦੀ ਲਾਈਨ ਵਿੱਚ xlNext ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

ਫਿਰ ਇਹ ਵਾਪਸ ਆਵੇਗਾ $C$5

ਪਰ ਜੇਕਰ ਤੁਸੀਂ ਵਰਤਦੇ ਹੋ:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

ਫਿਰ ਇਹ ਵਾਪਸ ਆਵੇਗਾ $C$11

ਇਸ ਲਈ ਹੇਠਾਂ ਤੋਂ ਸਿਖਰ ਤੱਕ ਖੋਜ ਕਰਨ ਲਈ ਪੂਰਾ ਕੋਡ ਹੈ:

VBA ਕੋਡ:

3335

6. ਮੈਚਕੇਸ ਪੈਰਾਮੀਟਰ ਨਾਲ VBA ਵਿੱਚ ਫੰਕਸ਼ਨ ਲੱਭੋ (ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਂ ਅਸੰਵੇਦਨਸ਼ੀਲ ਮੈਚ ਲਈ)

ਅੰਤ ਵਿੱਚ, ਤੁਸੀਂ MatchCase ਪੈਰਾਮੀਟਰ ਦੇ ਨਾਲ Find ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

ਇੱਕ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਮੈਚ , ਅਤੇ ਲਈ MatchCase=False ਲਈ MatchCase = True ਦੀ ਵਰਤੋਂ ਕਰੋ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਮੇਲ।

ਉਦਾਹਰਨ ਲਈ, ਆਓ ਕਿਤਾਬ ਦਾ ਨਾਮ ਕਾਲਮ ( B4:B13) ਵਿੱਚ ਕਿਤਾਬ “ਮਾਂ” ਨੂੰ ਲੱਭਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੀਏ ).

ਜੇਕਰ ਅਸੀਂ ਕੋਡ ਦੀ ਲਾਈਨ ਵਿੱਚ True ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

ਆਉਟਪੁੱਟ ਇੱਕ ਗਲਤੀ ਦਿਖਾਏਗੀ ਕਿਉਂਕਿ ਇਹ ਹੋਵੇਗਾ' ਕੋਈ ਵੀ ਨਾ ਲੱਭੋਮੈਚ।

ਪਰ ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਵਰਤਦੇ ਹੋ:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

ਫਿਰ ਇਹ ਵਾਪਸ ਆ ਜਾਵੇਗਾ $ B$9 ਕਿਉਂਕਿ ਸੈੱਲ B8 ਵਿੱਚ “ਮਾਂ” ਨਾਮ ਦੀ ਇੱਕ ਕਿਤਾਬ ਹੈ।

ਇਸ ਲਈ ਪੂਰਾ ਕੋਡ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਮੈਚ ਇਹ ਹੈ:

VBA ਕੋਡ:

1591

ਸਿੱਟਾ

ਇਨ੍ਹਾਂ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਫੰਕਸ਼ਨ ਲੱਭ ਸਕਦੇ ਹੋ। ਕੀ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਹਨ? ਸਾਨੂੰ ਪੁੱਛਣ ਲਈ ਬੇਝਿਜਕ ਮਹਿਸੂਸ ਕਰੋ।

ਹਿਊਗ ਵੈਸਟ ਉਦਯੋਗ ਵਿੱਚ 10 ਸਾਲਾਂ ਤੋਂ ਵੱਧ ਅਨੁਭਵ ਦੇ ਨਾਲ ਇੱਕ ਉੱਚ ਤਜ਼ਰਬੇਕਾਰ ਐਕਸਲ ਟ੍ਰੇਨਰ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਕ ਹੈ। ਉਸ ਕੋਲ ਲੇਖਾ ਅਤੇ ਵਿੱਤ ਵਿੱਚ ਬੈਚਲਰ ਦੀ ਡਿਗਰੀ ਹੈ ਅਤੇ ਵਪਾਰ ਪ੍ਰਸ਼ਾਸਨ ਵਿੱਚ ਮਾਸਟਰ ਦੀ ਡਿਗਰੀ ਹੈ। ਹਿਊਗ ਨੂੰ ਅਧਿਆਪਨ ਦਾ ਜਨੂੰਨ ਹੈ ਅਤੇ ਉਸਨੇ ਇੱਕ ਵਿਲੱਖਣ ਅਧਿਆਪਨ ਪਹੁੰਚ ਵਿਕਸਿਤ ਕੀਤੀ ਹੈ ਜਿਸਦਾ ਪਾਲਣ ਕਰਨਾ ਅਤੇ ਸਮਝਣਾ ਆਸਾਨ ਹੈ। ਐਕਸਲ ਦੇ ਉਸ ਦੇ ਮਾਹਰ ਗਿਆਨ ਨੇ ਦੁਨੀਆ ਭਰ ਦੇ ਹਜ਼ਾਰਾਂ ਵਿਦਿਆਰਥੀਆਂ ਅਤੇ ਪੇਸ਼ੇਵਰਾਂ ਨੂੰ ਆਪਣੇ ਹੁਨਰਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਅਤੇ ਆਪਣੇ ਕਰੀਅਰ ਵਿੱਚ ਉੱਤਮਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕੀਤੀ ਹੈ। ਆਪਣੇ ਬਲੌਗ ਰਾਹੀਂ, ਹਿਊਗ ਆਪਣੇ ਗਿਆਨ ਨੂੰ ਦੁਨੀਆ ਨਾਲ ਸਾਂਝਾ ਕਰਦਾ ਹੈ, ਵਿਅਕਤੀਆਂ ਅਤੇ ਕਾਰੋਬਾਰਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀ ਪੂਰੀ ਸਮਰੱਥਾ ਤੱਕ ਪਹੁੰਚਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਐਕਸਲ ਟਿਊਟੋਰਿਅਲ ਅਤੇ ਔਨਲਾਈਨ ਸਿਖਲਾਈ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ।