Excel دا VBA بىلەن تىزمىلارنى قانداق تېپىش (8 مىسال)

  • ھەمبەھىرلەڭ
Hugh West

VBA نى يولغا قويۇش Excel دىكى ھەر قانداق مەشغۇلاتنى ئىجرا قىلىشتىكى ئەڭ ئۈنۈملۈك ، ئەڭ تېز ۋە ئەڭ بىخەتەر ئۇسۇل. بۇ ماقالىدە Excel دىكى VBA نى ئىشلىتىپ باشقا بىر قۇردا قانداق قىلىپ مەلۇم قۇرلارنى تېپىشنى كۆرسىتىپ ئۆتىمىز.

مەشىق ئەندىزىسىنى چۈشۈرۈش

سىز بۇ يەردىن ھەقسىز مەشىق Excel قېلىپىنى چۈشۈرەلەيسىز.

VBA نى String.xlsm دىن تاپقىلى بولىدۇ 5>

Microsoft Excel نىڭ InStr ئىقتىدارى دەپ ئاتىلىدىغان ئىقتىدار بار بولۇپ ، مەلۇم بىر قۇردىكى ئالاھىدە تىزمىلارنىڭ ئورنىنى تاپالايدۇ.

ئومۇمىي گرامماتىكىسى:

InStr([start], string1, string2, [compare])

بۇ يەردە ،

ئىزدەيدىغان تىزما ، دەسلەپكى تىزما. <<> ئەمما سىز سەزگۈر بولمىغان InStr دېلوسىنى ئىجرا قىلماقچى بولسىڭىز ، ئۇنداقتا بۇ يەردە تالاش-تارتىشنى مەلۇم سېلىشتۇرۇش ئېلىپ بارسىڭىز بولىدۇ. بۇ تالاش-تارتىش تۆۋەندىكىدەك بولىدۇقىممەت ،
  • vbBinaryCompare - & gt; ئىككىلىك سېلىشتۇرۇش ئېلىپ بارىدۇ ، قايتۇرۇش قىممىتى 0
  • vbTextCompare - & gt; تېكىست سېلىشتۇرۇش ئېلىپ بارىدۇ ، قايتۇرۇش قىممىتى 1
  • vbDatabaseCompare - & gt; ساندان سېلىشتۇرۇش ئېلىپ بارىدۇ ، قايتۇرۇش قىممىتى 2

سۈكۈتتىكى ھالەتتە ، InStr سېلىشتۇرۇش تالاش-تارتىشى سۈپىتىدە vbBinaryCompare نى ئالىدۇ.

تالاش-تارتىش تەلەپ قىلىنغان / ئىختىيارى ئېنىقلىما
باشلاش ئىختىيارى ئىزدەشنىڭ باشلىنىش ئورنى.
  • سۈكۈتتىكى ھالەتتە ، InStr ئىقتىدارى باشلىنىش ئورنىدىن ئەمەس ، بەلكى 1 دىن ساناش ئارقىلىق ھەرپ ئورنىنى ھېسابلايدۇ. شۇڭا ، خالىسىڭىز بۇ بوشلۇقنى قويسىڭىز بولىدۇ.
string1 تەلەپ قىلىنغان
تىزما 2

8 VBA

ئارقىلىق بېرىلگەن تىزمىلاردا كونكرېت تىزما ئورنىنى تېپىشتىكى ئاسان مىساللار VBA . تېكىستنىڭ ھەرپ تىزمىسىدىكى ئورنى. Visual Basic

ئېچىش Visual Basic تەھرىرلىگۈچ .

  • ئېچىلغان كود كۆزنىكىدە ، تىزىملىك ​​بالدىقىدىن ، قىستۇر - & gt; مودۇل . تەرتىپ (تۆۋەندىكىلەرگە قاراڭ).
4476
كۇنۇپكا تاختىڭىزدا ياكى تىزىملىك ​​بالدىقىدىن ئىجرا - & gt; Sub / UserForm نى ئىجرا قىلىڭ. ماكرونى ئىجرا قىلىش ئۈچۈن تارماق تىزىملىك ​​بالدىقىدىكى كىچىك ئويۇن سىنبەلگىسى نى باسسىڭىزلا بولىدۇ.

بۇنى كۆرىسىز سەكرىمە ئۇچۇر ساندۇقى سىزگە نومۇر بېرىدۇسىز تەكشۈرمەكچى بولغان تېكىستنىڭ ئورنىنى دەپ ئېلان قىلىڭ.

چۈشەندۈرۈش:

بىزنىڭ دەسلەپكى قۇر ، بىر تاللاش »21 ھەرىپلىك جۈملە (بوشلۇق بار) ، بىز بۇ قۇردىكى« تاللاش »تېكىستىنىڭ ئورنىنى تاپماقچى بولدۇق. « تاللاش » تېكىستى دەسلەپكى قۇرنىڭ 16-ئورنىدىن باشلانغان ، شۇڭلاشقا بىز ئۇچۇر رامكىسىدىكى چىقىرىش سۈپىتىدە 16 نومۇرغا ئېرىشتۇق.

2. VBA تىزمىسىدىكى مەلۇم ئورۇندىن تېكىست تېپىش

ئەمدى بىز مەلۇم ساندىن ئورۇن ئالماقچى بولساق نېمە ئىشلارنىڭ يۈز بېرىدىغانلىقىنى تېپىپ چىقايلى.

  • ئوخشاش ئۇسۇل ئىلگىرى ، پروگرامما ئاچقۇچى بەتكۈچىدىن كۆرۈنۈشلۈك ئاساسىي تەھرىرلىگۈچ نى ئېچىڭ ھەمدە كود كۆزنىكىگە a بۆلەك قىستۇر.
  • In كود كۆزنىكى ، يۇقىرىدا كۆرسىتىلگەن ئاددىي InStr پروگراممىسىنى يېزىڭ ھەمدە تېكىستنى ھېسابلىماقچى بولغان ئورۇنغا ئاساسەن باشلىنىش تالاش-تارتىشىدىكى قىممەتنى يەتكۈزۈڭ.
6255

  • كېيىنكى ، كودنى ئىجرا قىلىڭ.

سىز تەكشۈرمەكچى بولغان مەلۇم ئورۇندىن باشلاپ تېكىستنىڭ ئورنىنى ئېلان قىلىدىغان نومۇر بېرىڭ.

چۈشەندۈرۈش:

بىز بۇرۇن بىلگىنىمىزدەك (1-باسقۇچلۇق مۇنازىرىدىن) « تاللاش » تېكىستىنىڭ 16 ئورنىدىن باشلانغانلىقىنى ، شۇڭا ئىككىنى قىستۇردۇق. دەسلەپكى قۇردىكى تاللاش »ۋە 17 نى بىزنىڭ قىلىپ بېكىتىڭبىرىنچى « تاللاش » دىن ئاتلاپ ئۆتۈپ كېتىشنىڭ 1-پارامېتىرى. شۇڭا ، بىز يۇقىرىدىكى ماكرونى ئىجرا قىلىمىز ۋە ئۇ بىزگە ئورۇن نومۇرى 27 نى كۆرسەتتى ، بۇ دەل ئىككىنچى « تاللاش » نىڭ ئورۇن نومۇرى. بېرىلگەن قۇردا.

3. VBA ھەرپ-بەلگە سېزىمچان InStr فۇنكىسىيەلىك تېكىستنى تېپىش

InStr فۇنكسىيەسى تونۇشتۇرۇلغاندىن باشلاپ ، سىز سۈكۈتتىكى ھالەتتە InStr ئىقتىدارىنى بىلىسىز. ئەھۋالغا سەزگۈر. بۇنى مىسال بىلەن تاپايلى.

تۆۋەندىكى VBA كودىنى كۆرۈڭ ، بىز بۇ يەردە « تاللاش دېگەن سۆزنىڭ ئورنىنى تاپماقچى بولدۇق. " <" .3 <<>

بۇنىڭ سەۋەبى ، InStr ئىقتىدارى پايتەخت «C» ۋە كىچىك «c» غا باشقىچە مۇئامىلە قىلىدۇ. شۇنىڭ بىلەن ئۇ « تاللاش » دېگەن سۆزنى ئىزدىدى ۋە ھېچقانداق ماسلىشالمىدى ، شۇڭا 0 .

  • InStr ئىقتىدارىنى ئەھۋالغا سەزگۈر قىلىش ئۈچۈن ، سېلىشتۇرۇش تالاش-تارتىشنى vbTextCompare غا تەڭشەڭ (تۆۋەندىكىلەرگە قاراڭ).
2754

  • كودنى ئىجرا قىلىڭ.

تېكىستنىڭ ئورنىغا ئېرىشىسىز ھەرپ تىزمىسىدىن ، مەيلى تېكىست چوڭ ھەرپ ياكى كىچىك ھەرپلەر بىلەن يېزىلغان بولسۇن.

ھازىرغا قەدەر InStr ئىقتىدارى بىزگە پەقەت قۇرنىڭ سول تەرىپىدىن ئورۇن بېرەتتى. ئەمما تېكستنىڭ ئوڭ تەرىپىدىن تېكست ئورنىنى تاپماقچى بولسىڭىز قانداق بولىدۇ.

InStrRev ئىقتىدارى ئوڭدىن ئىزدەيدۇ. InStrRev ئىقتىدارى InStr فۇنكىسىيەسىگە ناھايىتى ئوخشايدۇ ، ئۇ سىزنى ئوڭ تەرەپ دىن كەلگەن تېكىستنىڭ ئورنىنى تاپالايدۇ.

پەرقنى چۈشىنىش ئۈچۈن تۆۋەندىكى مىساللارنى كۆرۈڭ.

  • ئەگەر تۆۋەندىكى كودنى InStr ئىقتىدارى بىلەن ئىجرا قىلساق ، ئۇنداقتا

ئۇ بىزگە بىرىنچى تېكىست « تاللاش » نىڭ ئورنىنى ( 16 ) بېرىدۇ.

  • ئەمما بىز ئوخشاش كودنى InStrRev فۇنكسىيەسى بىلەن ئىجرا قىلساق ،

ئۇ بىزگە ئورۇن بېرىدۇ ( 27 ) ئاخىرقى تېكىستنىڭ « تاللاش ».

مۇشۇنىڭغا ئوخشاش ئوقۇشلۇق:

  • Excel دا VBA نى ئىشلىتىپ كېيىنكى مەزمۇننى تېپىڭ (2 مىسال)
  • Excel دىكى VBA ئارقىلىق ئەمەلىي مۇسابىقىنى تېپىڭ (5 خىل ئۇسۇل)

5. VBA ھەرپ-بەلگىلەرنىڭ ئورنىنى تېپىش ئۈچۈن

سىز مەلۇم بىر ھەرپنىڭ ئورنىنى تېكىستنى تاپقانغا ئوخشاش بىر قۇردىن تاپالايسىز.

  • كۆچۈرۈڭ تۆۋەندىكى كود سىزنىڭ VBA كود كۆزنىكىڭىزگە
4955

  • ۋە ماكرونى ئىجرا قىلىڭ.

بېرىلگەن قۇردىكى تۇنجى « e »سان 7 ئورۇن.

6. VBA ھەرپ تىزمىسىدىن تېپىشماق تېپىش

بۇ يەردە بىز بىر قۇرنىڭ تارماق بەلگە ياكى ئەمەسلىكىنى قانداق تېپىشنى ئۆگىنىمىز.

بۇنى ئېلىش ئۈچۈن بىزدە بار كودىمىزدا IF باياناتى نى ئىجرا قىلىش ئۈچۈن. كود كۆزنىكىگە a بۆلەك قىستۇر.

  • كود كۆزنىكىگە تۆۋەندىكى كودنى كۆچۈرۈپ چاپلاڭ.
  • 3657

    سىزنىڭ كود ھازىر ئىجرا قىلىشقا تەييار.

    • ماكرونى ئىجرا قىلىڭ.

    ئەگەر سىزنىڭ تىزمىڭىزدا تارماق بەلگە بولسا ، ئۇنداقتا سىز تېپىلغان مۇسابىقىگە ئېرىشىسىز ، بولمىسا ، ھېچقانداق ماس تېپىلمايدۇ. مىسالىمىزدا ، بىزنىڭ دەسلەپكى تىزمىمىز « خۇشاللىق تاللاش » دا « تاللاش » ياكى بار يوقلۇقىنى بىلمەكچى بولدۇق ئەمەس. شۇنداق بولغاندا ، بىز ماس كېلىدىغان نەتىجىگە ئېرىشىمىز.

    7. VBA كاتەكچە دائىرىسىدىكى تىزمىلارنى تېپىش

    سىز مەلۇم بىر تېكىستنى كاتەكچە تىزمىسىدىن ئىزدەپ مەلۇم بىر قۇرنى قايتۇرالايسىز.

    تۆۋەندىكى مىسالغا قاراڭ ، بىز قەيەرگە بارىمىز؟ « دوكتور » نى تېپىڭ ، مۇسابىقە بولغاندا ئۇ « دوختۇر » نى قايتۇرىدۇ.

    • تۆۋەندە يۇقىرىدا مۇلاھىزە قىلىنغان نەتىجىگە ئېرىشىشنىڭ كودى ،
    7068

    • ئىجرا كود ۋە نەتىجە تۆۋەندە كۆرسىتىلدى

    • ماكرونى ئېھتىياجىڭىزغا ئاساسەن ئۆزگەرتەلەيسىز. مەسىلەن ، خالىسىڭىزھەر قانداق بىر كاتەكچىدىن « پروفېسسور » نى تېپىپ ، « پروفېسسور » غا ئېرىشىش ئۈچۈن ئاندىن «<1» دىن ئۆتۈڭ> پروفېسسور »« دوكتور »نىڭ ئورنىغا قىممەت سۈپىتىدە. ماكرونىڭ 4-قۇردا ۋە ماكرونىڭ 5-قۇردىكى « دوختۇر » نىڭ ئورنىغا « پروفېسسور ». كاتەكچە دائىرە نومۇرى ماس ھالدا.

    8. VBA كاتەكچىدىن تىزما تېپىش

    سىز يەنە بىر كاتەكچە كاتەكچىدىن مەلۇم تېكىستنى ئىزدەپ ، مەلۇم بىر قۇرنى قايتۇرالايسىز.

    • تۆۋەندىكى كودنى كۆچۈرۈپ كود كۆزنىكىگە چاپلاڭ.
    7031

    ئۇ « دوكتور » كاتەكچى B5 دىكى ، ئەگەر مۇسابىقىنى بايقىسا ، ئۇنداقتا كاتەكچى C5 دىكى« دوختۇر »نى قايتۇرىدۇ.

    • ئېھتىياجىڭىزغا ئاساسەن ماكرونى ئۆزگەرتەلەيسىز. مەسىلەن ، ئەگەر سىز ھەر قانداق بىر كاتەكچىدىن « پروفېسسور » نى تاپماقچى بولسىڭىز ، ھەمدە « پروفېسسور » غا ئېرىشمەكچى بولسىڭىز ، ئاندىن « دوكتور » نىڭ ئورنىغا « پروفېسسور » نى قىممەت قىلىپ ئۆتۈڭ. ماكرونىڭ 2-قۇردا ۋە ماكرونىڭ 3-قۇردىكى « دوختۇر » نىڭ ئورنىغا « پروفېسسور ». كاتەكچە پايدىلىنىش نومۇرى ماس ھالدا. بۇ ماقالىنىڭ سىزگە ناھايىتى پايدىلىق بولۇشىنى ئۈمىد قىلىمەن. مۇناسىۋەتلىك سوئاللارنى سوراپ بېقىڭتېما.

    خۇگ ۋېست بۇ ساھەدە 10 نەچچە يىللىق تەجرىبىسى بار يۇقىرى تەجرىبىلىك Excel مەشقاۋۇلى ۋە تەھلىلچىسى. ئۇ بوغالتىرلىق ۋە مالىيە كەسپىدە باكلاۋۇرلۇق ئۇنۋانى ۋە سودا باشقۇرۇش كەسپىدە ماگىستىرلىق ئۇنۋانىغا ئېرىشكەن. خۇگنىڭ ئوقۇتۇش قىزغىنلىقى بار بولۇپ ، ئەگىشىش ۋە چۈشىنىش ئاسان بولغان ئۆزگىچە ئوقۇتۇش ئۇسۇلىنى تەرەققىي قىلدۇردى. ئۇنىڭ Excel ھەققىدىكى مۇتەخەسسىس بىلىمى دۇنيادىكى مىڭلىغان ئوقۇغۇچىلار ۋە كەسپىي خادىملارنىڭ ماھارىتىنى ئۆستۈرۈشىگە ۋە كەسپىي ھاياتىدا مۇنەۋۋەر بولۇشىغا ياردەم بەردى. خۇگ بىلوگى ئارقىلىق ئۆزىنىڭ بىلىملىرىنى دۇنيا بىلەن ئورتاقلىشىدۇ ، ھەقسىز Excel دەرسلىكى ۋە توردا تەربىيىلەش ئېلىپ بېرىپ ، شەخس ۋە كارخانىلارنىڭ تولۇق يوشۇرۇن كۈچىگە يېتىشىگە ياردەم بېرىدۇ.