Excel හි අභිරුචි කාර්යයන්හි වාසි සහ අවාසි

  • මේක Share කරන්න
Michael Brown

අපි පරිශීලක නිර්වචනය කළ කාර්යයන් පිළිබඳ නිබන්ධන මාලාව දිගටම කරගෙන යමු. අපගේ පෙර ලිපිවලදී, අපි අභිරුචි කාර්යයන් පිළිබඳව දැන හඳුනා ගෙන ඒවා නිර්මාණය කර භාවිතා කරන්නේ කෙසේදැයි ඉගෙන ගත්තෙමු. මෙම අත්පොතෙහි අපි මෙම කාර්යයන් භාවිතා කිරීමේ විශේෂතා දෙස බලා UDF සහ VBA මැක්‍රෝස් අතර වෙනස්කම් දකිමු.

මෙම නිබන්ධනයේදී අපි පහත දේ ඉගෙන ගනිමු:

    මෙම ලිපිය මඟින් UDF පිළිබඳ ඔබේ දැනුම ඉහළ නැංවීමට සහ ඔබේ Excel වැඩපොත් තුළ ඒවා වඩාත් ඵලදායී ලෙස භාවිතා කිරීමට ඔබට උපකාර වනු ඇතැයි අපි බලාපොරොත්තු වෙමු.

    UDF සහ Macro එකම දෙයද?

    පරිශීලක අර්ථ දක්වා ඇති කාර්යයන් සහ VBA යන දෙකම මැක්රෝස් නිර්මාණය කර ඇත්තේ VBA සංස්කාරකය භාවිතා කරමිනි. ඒවා අතර වෙනස කුමක්ද සහ මනාප ලබා දිය යුත්තේ කුමක් ද?

    වඩාත්ම වැදගත් වෙනස නම් ශ්‍රිතය ගණනය කිරීම සිදු කරන අතර මැක්‍රෝව යම් ක්‍රියාවක් සිදු කරයි. සාමාන්‍ය Excel ශ්‍රිතයක් වැනි පරිශීලක නිර්වචනය කළ ශ්‍රිතයක් කොටුවක ලිවිය යුතුය. එය ක්රියාත්මක කිරීමේ ප්රතිඵලයක් වශයෙන්, සෛලය යම් අගයක් ලබා දෙයි. ඒ අතරම, අනෙකුත් සෛලවල අගයන් මෙන්ම වත්මන් සෛලයේ සමහර ගුණාංග (විශේෂයෙන්, හැඩතල ගැන්වීම) වෙනස් කළ නොහැක. කෙසේ වෙතත්, ඔබට කොන්දේසි සහිත හැඩතල ගැන්වීමේ සූත්‍රවල අභිරුචි ශ්‍රිතයක් භාවිතා කළ හැක.

    UDF සහ VBA මැක්‍රෝ විවිධ ආකාරවලින් ක්‍රියා කරයි. උදාහරණයක් ලෙස, ඔබ දෘශ්‍ය මූලික සංස්කාරකයේ UDF එකක් සාදන විට, ඔබ Function ප්‍රකාශයකින් ආරම්භ කර End Function කින් අවසන් වේ. ඔබ මැක්රෝ එකක් පටිගත කරන විට, ඔබ ආරම්භ කරන්නේ aප්‍රකාශය උප සහ අවසන් උපසිරැසියකින් අවසන් වේ.

    සියලු දෘශ්‍ය මූලික ක්‍රියාකරුවන් UDF නිර්මාණය කිරීමට භාවිතා කළ නොහැක. මේ හේතුව නිසා, මැක්‍රෝ එකක් යනු වඩාත් බහුකාර්ය විසඳුමකි.

    පරිශීලක විසින් නිර්වචනය කරන ලද ශ්‍රිතයක් මෙන් නොව, මැක්‍රෝවකට පරිශීලකයාට කිසිදු තර්කයක් ඉදිරිපත් කිරීමට අවශ්‍ය නොවේ (එසේම කිසිදු තර්කයක් පිළිගත නොහැක).

    කාරණය වන්නේ මැක්‍රෝස් වල සමහර විධාන සෛල ලිපින හෝ හැඩතල ගැන්වීමේ මූලද්‍රව්‍ය භාවිතා කළ හැකි බවයි (උදාහරණයක් ලෙස, වර්ණය). ඔබ සෛල ගෙන යන්නේ නම්, පේළි සහ තීරු එකතු කරන්නේ නම් හෝ ඉවත් කරන්නේ නම්, සෛලවල ආකෘතිය වෙනස් කරන්නේ නම්, ඔබට පහසුවෙන් ඔබේ මැක්‍රෝස් "බිඳීමට" හැකිය. ඔබ ඔබේ මැක්‍රෝස් ක්‍රියා කරන ආකාරය නොදන්නා සගයන් සමඟ ඔබේ ගොනුව බෙදා ගන්නේ නම් මෙය විශේෂයෙන් කළ හැකිය.

    උදාහරණයක් ලෙස, ඔබට පරිපූර්ණව ක්‍රියා කරන මැක්‍රෝ එකක් සහිත ගොනුවක් තිබේ. මෙම සූත්‍රය සෛල A1 සිට A4 දක්වා ප්‍රතිශතය ගණනය කරයි. මැක්රෝ මෙම සෛලවල වර්ණය කහ පැහැයට වෙනස් කරයි. සක්‍රිය කොටුවේ ප්‍රතිශත ආකෘතියක් සකසා ඇත.

    ඔබ හෝ වෙනත් අයෙකු නව පේළියක් ඇතුළු කිරීමට තීරණය කරන්නේ නම්, මැක්‍රෝව A4 කොටුවේ අගය දිගටම සොයනු ඇත ( ඔබගේ UDF හි 4,1 පරාමිතිය), අසමත් වී දෝෂයක් ලබා දෙන්න:

    මෙම අවස්ථාවේදී, දෝෂය සිදු වූයේ බිංදුවෙන් බෙදීම නිසා ය (අලුතින් එකතු කරන ලද අගයක් නොමැත පේළිය). සාර්ව ක්‍රියා කරන්නේ නම්, අපි කියමු, සාරාංශය, එවිට ඔබට වැරදි ප්‍රතිඵලයක් ලැබෙනු ඇත. නමුත් ඔබ ඒ ගැන දැන නොගනු ඇත.

    මැක්‍රෝස් වලට ප්‍රතිවිරුද්ධව, පරිශීලක නිර්වචනය කරන ලද කාර්යයන් එවැනි අප්‍රසන්න තත්වයක් ඇති කළ නොහැක.

    පහත ඔබට බලන්නUDF භාවිතා කරමින් එකම ගණනය කිරීම්. මෙහිදී ඔබට වැඩ පත්‍රිකාවේ ඕනෑම තැනක ආදාන කොටු නියම කළ හැකි අතර එය වෙනස් කිරීමේදී ඔබට අනපේක්ෂිත ගැටළු වලට මුහුණ දීමට සිදු නොවනු ඇත.

    මම පහත සූත්‍රය C3 හි ලියා ඇත:

    =UDF_vs_Macro(A1,A4)

    ඉන්පසු මම හිස් පේළියක් ඇතුළු කළ අතර, ඉහත තිර රුවෙහි ඔබට පෙනෙන පරිදි සූත්‍රය වෙනස් විය.

    දැන් අපට ආදාන කොටුවක් හෝ ශ්‍රිතයක් සහිත සෛලයක් ඕනෑම තැනකට ගෙන යා හැක. ප්‍රතිඵලය සැමවිටම නිවැරදි වනු ඇත.

    UDF භාවිතා කිරීමේ අමතර ප්‍රතිලාභයක් වන්නේ ආදාන කොටුවේ අගය වෙනස් වූ විට ඒවා ස්වයංක්‍රීයව යාවත්කාලීන වීමයි. මැක්‍රෝ භාවිතා කරන විට, ඔබ සැම විටම සියලු දත්ත යාවත්කාලීන බව සහතික විය යුතුය.

    මෙම උදාහරණය මතක තබා ගනිමින්, මම හැකි සෑම තැනකම UDF භාවිතා කිරීමට සහ අනෙකුත් ගණනය කිරීම් නොවන ක්‍රියාකාරකම් සඳහා පමණක් macros භාවිතා කිරීමට කැමැත්තෙමි.

    UDF භාවිතා කිරීමේ සීමාවන් සහ අවාසි

    මම දැනටමත් ඉහත UDF හි වාසි සඳහන් කර ඇත. දිගු කතාවක් කෙටියෙන්, එය සම්මත Excel කාර්යයන් සමඟ කළ නොහැකි ගණනය කිරීම් සිදු කළ හැක. ඊට අමතරව, එය දිගු හා සංකීර්ණ සූත්ර සුරැකීමට සහ භාවිතා කළ හැකි අතර, ඒවා තනි ශ්රිතයක් බවට පත් කරයි. තවද ඔබට නැවත නැවතත් සංකීර්ණ සූත්‍ර ලිවීමට සිදු නොවනු ඇත.

    දැන් අපි UDF හි අඩුපාඩු ගැන වඩාත් විස්තරාත්මකව කතා කරමු:

    • UDFs නිර්මාණය කිරීම සඳහා VBA භාවිතා කිරීම අවශ්‍ය වේ. එය වටා මගක් නැත. මෙයින් අදහස් කරන්නේ පරිශීලකයාට එක්සෙල් මැක්‍රෝ එකක් මෙන් යූඩීඑෆ් පටිගත කළ නොහැකි බවයි. යූඩීඑෆ් එක හදන්න ඕන ඔබමයි. කෙසේ වෙතත්, ඔබට පිටපත් කළ හැකියකලින් වාර්තා කළ සාර්ව කේතයේ කොටස් ඔබේ කාර්යයට අලවන්න. අභිරුචි ශ්‍රිතවල සීමාවන් පිළිබඳව ඔබ දැනුවත් විය යුතුය.
    • UDF හි තවත් අඩුපාඩුවක් නම්, වෙනත් ඕනෑම Excel ශ්‍රිතයක් මෙන්, එය සෛලයකට ආපසු ලබා දිය හැක්කේ තනි අගයක් හෝ අගයන් මාලාවක් පමණි. එය සරලව ගණනය කිරීම් සිදු කරයි, තවත් කිසිවක් නැත.
    • ඔබට ඔබේ වැඩපොත ඔබේ සගයන් සමඟ බෙදා ගැනීමට අවශ්‍ය නම්, එම ගොනුවේම ඔබේ UDF සුරැකීමට වග බලා ගන්න. එසේ නොමැති නම්, ඔබේ අභිරුචි ශ්‍රිත ඒවා සඳහා ක්‍රියා නොකරනු ඇත.
    • VBA සංස්කාරකය සමඟින් සාදන ලද අභිරුචි ශ්‍රිත සාමාන්‍ය කාර්යයන්ට වඩා මන්දගාමී වේ. විශාල වගු වල මෙය විශේෂයෙන් කැපී පෙනේ. අවාසනාවකට, VBA යනු මෙතෙක් ඉතා මන්දගාමී ක්‍රමලේඛන භාෂාවකි. එබැවින්, ඔබ සතුව දත්ත විශාල ප්‍රමාණයක් තිබේ නම්, හැකි සෑම විටම සම්මත ශ්‍රිත භාවිතා කිරීමට උත්සාහ කරන්න, නැතහොත් LAMBDA ශ්‍රිතය භාවිතයෙන් UDF නිර්මාණය කරන්න.

    අභිරුචි ක්‍රියාකාරී සීමාවන්:

    • UDF යනු ගණනය කිරීම් සිදු කිරීමට සහ අගයක් ලබා දීමට සැලසුම් කර ඇත. මැක්‍රෝස් වෙනුවට ඒවා භාවිතා කළ නොහැක.
    • ඔවුන්ට වෙනත් කිසිදු සෛලයක අන්තර්ගතය වෙනස් කළ නොහැක (ක්‍රියාකාරී සෛලය පමණි).
    • ක්‍රියාකාරී නම් නිශ්චිත නීති අනුගමනය කළ යුතුය. උදාහරණයක් ලෙස, ඔබට ස්වදේශීය Excel ශ්‍රිත නාමයකට හෝ AB123 වැනි සෛල ලිපිනයකට ගැළපෙන නමක් භාවිත කළ නොහැක.
    • ඔබගේ අභිරුචි ශ්‍රිතයේ නමෙහි හිස්තැන් අඩංගු විය නොහැක, නමුත් එයට යටි ඉරි අක්ෂරය ඇතුළත් කළ හැක. කෙසේ වෙතත්, කැමතිම ක්රමය වන්නේ එක් එක් නව ආරම්භයේදී ලොකු අකුරු භාවිතා කිරීමයිword (උදාහරණයක් ලෙස, GetMaxBetween).
    • UDF හට වැඩ පත්‍රිකාවේ අනෙකුත් ප්‍රදේශවලට කොටු පිටපත් කර ඇලවිය නොහැක.
    • ඔවුන්ට ක්‍රියාකාරී වැඩ පත්‍රිකාව වෙනස් කළ නොහැක.
    • UDF වලට හැක' t ක්රියාකාරී සෛලයේ හැඩතල ගැන්වීම වෙනස් කරන්න. ඔබට විවිධ අගයන් පෙන්වන විට කොටුවක හැඩතල ගැන්වීම වෙනස් කිරීමට අවශ්‍ය නම්, ඔබ කොන්දේසි සහිත හැඩතල ගැන්වීම භාවිතා කළ යුතුය.
    • ඒවාට අමතර පොත් විවෘත කළ නොහැක.
    • ඒවා Application භාවිතයෙන් මැක්‍රෝ ධාවනය කිරීමට භාවිත කළ නොහැක.OnTime .
    • මැක්‍රෝ රෙකෝඩරය භාවිතයෙන් පරිශීලක-නිර්වචනය කළ ශ්‍රිතයක් සෑදිය නොහැක.
    • Functions Developer > Macros dialog.
    • ඔබගේ කාර්යයන් සංවාද කොටුවෙහි ( Insert > Function ) සහ ඒවා Public<7 ලෙස ප්‍රකාශ කළහොත් පමණක් ශ්‍රිත ලැයිස්තුවේ දිස්වනු ඇත> (වෙනත් ආකාරයකින් සටහන් කර නොමැති නම්, මෙය පෙරනිමිය වේ).
    • පුද්ගලික ලෙස ප්‍රකාශ කරන ලද ඕනෑම කාර්යයක් විශේෂාංග ලැයිස්තුවේ නොපෙන්වයි.

    තරමක් මන්දගාමී මෙහෙයුමක් , මෙන්ම භාවිතයේ ඇති සමහර සීමා කිරීම්, ඔබට සිතීමට හේතු විය හැක: "මෙම අභිරුචි ශ්‍රිතවල ප්‍රයෝජනය කුමක්ද? ඔබ UDF නිසි ලෙස සාදා භාවිතා කරන්නේ කෙසේදැයි ඉගෙන ගන්නේ නම්, ඔබට ඔබගේ කාර්යයන් පුස්තකාලය ලිවිය හැක. මෙය Excel හි දත්ත සමඟ වැඩ කිරීමට ඔබට ඇති හැකියාව විශාල ලෙස පුළුල් කරනු ඇත.

    මට අනුව, අභිරුචි කාර්යයන් විශාල කාලය ඉතිරි කරයි. සහ ඔබ ගැන කුමක් කිව හැකිද? ඔබ දැනටමත් ඔබේම UDF නිර්මාණය කිරීමට උත්සාහ කර තිබේද? ඔයා එයට කැමති වුණා දමූලික Excel කාර්යයන්ට වඩා හොඳද? අපි එය අදහස් දැක්වීමේදී සාකච්ඡා කරමු :)

    මයිකල් බ්‍රවුන් යනු මෘදුකාංග මෙවලම් භාවිතයෙන් සංකීර්ණ ක්‍රියාවලීන් සරල කිරීමට දැඩි ආශාවක් ඇති කැපවූ තාක්‍ෂණ ලෝලියෙකි. තාක්‍ෂණ ක්‍ෂේත්‍රයේ දශකයකට වැඩි පළපුරුද්දක් ඇති ඔහු Microsoft Excel සහ Outlook මෙන්ම Google Sheets සහ Docs හි ඔහුගේ කුසලතා ඔප් නංවා ඇත. මයිකල්ගේ බ්ලොගය ඔහුගේ දැනුම සහ ප්‍රවීණත්වය අන් අය සමඟ බෙදා ගැනීමට කැපවී ඇත, ඵලදායිතාව සහ කාර්යක්ෂමතාව වැඩි දියුණු කිරීම සඳහා පහසුවෙන් අනුගමනය කළ හැකි ඉඟි සහ නිබන්ධන සපයයි. ඔබ පළපුරුදු වෘත්තිකයෙකු හෝ ආධුනිකයෙකු වුවද, මයිකල්ගේ බ්ලොගය මෙම අත්‍යවශ්‍ය මෘදුකාංග මෙවලම්වලින් උපරිම ප්‍රයෝජන ලබා ගැනීම සඳහා වටිනා අවබෝධයක් සහ ප්‍රායෝගික උපදෙස් ලබා දෙයි.