در اینجا من سعی کردم این مشکل را با یک UDF (توابع تعریف شده توسط کاربر) حل کنم. من یک تابع در VBA ایجاد کرده ام که تقریباً همان نتیجه را می دهد که TEXTJOIN برمی گرداند.
همانطور که در تصویر زیر در ستون مشاهده می کنید، لیست شناسه کارمند موجود است و در محدوده C2 فرمولی " =MyTextJoin(";",1,A2:A15) " برای دریافت شناسه های کارمند جدا شده از نقطه ویرگول در یک واحد قرار داده شده است. سلول.
My_Text_Join() یک تابع تعریف شده توسط کاربر است. برای ایجاد این تابع کد زیر است. برای استفاده از این کد مراحل زیر آمده است-
- کد زیر را کپی کنید
- یک کتاب کار جدید باز کنید یا می توانید از کتاب کار موجود خود نیز استفاده کنید.
- به ویرایشگر ویژوال بیسیک بروید (Alt+F11 را فشار دهید)
- یک ماژول جدید درج کنید (Alt+I+M را فشار دهید)
- این کد را جایگذاری کنید.
- کتاب کار را به عنوان فعال ماکرو ذخیره کنید .
- به کاربرگ بروید و
My_Text_Join
را تایپ کنید و از آن به عنوان تابع عادی اکسل استفاده کنید.
گزینه تابع صریح
My_Text_Join(جداکننده بهعنوان رشته، ignore_empty بهعنوان Boolean، text_range بهعنوان محدوده) بهعنوان رشته
Application.Volatile Dim c بهعنوان محدوده Dim n بهمدت طول n = 0 برای هر c در محدوده text_range اگر ignore_empty = TruesEmptyc. مقدار) = False سپس اگر n = 0 سپس My_Text_Join = c. Value Else My_Text_Join = My_Text_Join & delimiter & c.Value End If n = n + 1 End If Else If n = 0 سپس My_Text_Join = c.Value_Text_Join My_in_T جداکننده و c. Value End If n = n + 1 End If Next End تابع
ورود به سایت