ساخت تابع TEXTJOIN اکسل با VBA

یکی از پر استفاده ترین عملیات در اکسل ترکیب کردن چند رشته متنی با یکدیگر است که برای این منظور هم می توان از توابع موجود در اکسل استفاده کرد و هم با استفاده از علامت & که برای چسباندن محتویات سلولها کاربرد دارد.

تابعی که برای ترکیب رشته های متنی مورد استفاده قرار می گیرد تابع CONCATENATE است که دارای 255 پارامتر یا ورودی است، البته باید این نکته را در نظر داشته باشید که خروجی این تابع دارای محدودیت در تعداد کاراکتر می باشد و بیشتر از 8192 کاراکتر را نمی تواند ترکیب کند و باز هم این نکته را در نظر بگیرید که اگر قرار باشد بین رشته های متنی وارد شده در پاراکتر ها یک کاراکتر خاصی مثلا فاصله یا ویرگول قرار بگیرد شما ناگزیر هستید که 127 پارامتر را اختصاص بدهید به کاراکتر جداکننده رشته های متنی که عملا این تعداد کاراکتر از مجموع کاراکترهای مجاز یعنی 8192 کاراکتر کاسته می شود.

textjoin

مشکل دیگر در استفاده از این تابع این است که شما باید برای ترکیب کردن چند رشته متنی هر کدام از عبارت ها را در یک پارامتر به طور جداگانه وارد کنید و در ضمن بین هر عبارت متنی یک پارامتر برای جداکننده قرار دهید که این کار هم زمان بر خواهد بود و هم از حوصله خارج است.

یه راه ساده تر

اما در آفیس 365 که مایکروسافت برای ورژن 2016 عرضه کرده دو تابع جهت این منظور ساخته شده که به نام های CONCAT و TEXTJOIN می باشند

تابع CONCAT تعداد کارکترهای خروجی را به 32767 کاراکتر (یعنی 4 برابر تابع CONCATENATE) افزایش داده ولی همچنان مشکل انتخاب پارامترها و قرار دادن پارامتر علامت جداکننده وجود دارد

اما تابع TEXTJOIN ورژن جدید این دو تابع هست و به مراتب بسیار قدرتمند تر از این توابع ظاهر شده، گرامر این تابع به شکل زیر است:

TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)

در پارامتر اول باید علامت جداکننده را وارد کنید و پارامتر دوم هم جهت پذیرفتن یا نپذیرفتن ورودی های خالی است و از پارامتر سوم به بعد کاربر اجازه دارد که به جای یک سلول یک محدوده را انتخاب کند که این کار در واقع مشکل انتخاب کردن تک تک ورودی ها را بر طرف می کند.

اما ما در این آموزش قصد نداریم که به این توابع بپردازیم دلیل ما از این کار این است که اغلب کاربران اکسل نسخه آفیس 365 را ندارند و قطعا از امکانات آن محروم هستند.

اما به جای این توابع ما می خواهیم یاد بگیریم که چگونه با ضبط ماکرو این کار ها را انجام دهیم و همچنین خودمان یک تابع شخصی بسازیم که عملیات تابع TEXTJOIN را برای ما انجام دهد

برای یاد گرفتن این موضوع نیاز به دانش برنامه نویسی نداریم و با چند دستور ساده یک تابع می سازیم و از کاربرد آن در عملیات روزانه مان لذت خواهیم برد.

2018-04-01T22:25:15+00:00

در باره نویسنده :

فارغ التحصیل رشته مدیریت مالی در مقطع کارشناسی ارشد هستم. از سال 1387 به دلیل ورود به رشته حسابداری احساس نیاز بیشتری به این نرم افزار پیدا کردم و از ترم آخر کارشناسی ارتباط خودم را با این نرم افزار بیشتر کردم. در حال حاضر در حوزه داشبوردهای مدیریتی و مبحث هوش تجاری در اکسل مشغول هستم. علاقمندی من به نرم افزار به حدی رسیده که هر روز باید یک مطلب جدید در حوزه نرم افزار یاد بگیرم، علاوه بر اکسل مشغول یادگیری زبان برنامه نویسی جاوا و اندروید هستم.

ثبت ديدگاه