فهرست مطالب
در این مقاله، من به شما نشان خواهم داد که چگونه می توانید یک رشته را در VBA به آرایه تقسیم کنید. Split یکی از مهمترین و پرکاربردترین توابعی است که ما در VBA استفاده می کنیم. شما یاد خواهید گرفت که یک رشته را در VBA به همه روش های ممکن تقسیم کنید.
عملکرد تقسیم VBA (نمایش سریع)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
دانلود کتاب تمرینی
یک رشته را به یک Array.xlsm تقسیم کنید
3 روش برای تقسیم رشته به آرایه در VBA
بیایید یک رشته در دست داشته باشیم «ما برای ویزای ایالات متحده، کانادا، استرالیا و فرانسه درخواست دادیم. .
من به شما نشان خواهم داد که چگونه می توانید این رشته را با استفاده از تابع تقسیم از VBA به یک آرایه به همه روش های ممکن تقسیم کنید. .
1. از هر جداکننده برای تقسیم رشته به آرایه در VBA استفاده کنید
شما می توانید از هر رشته ای به عنوان جداکننده برای تقسیم رشته به آرایه در VBA استفاده کنید.
این می تواند یک فاصله (" ") ، یک کاما ("") ، یک نقطه ویرگول (":") ، یک کاراکتر واحد، یک رشته ای از کاراکترها یا هر چیز دیگری.
⧭ مثال 1:
بیایید رشته را با استفاده از کاما به عنوان جداکننده.
خط کد به این صورت خواهد بود:
Arr = Split(Text, ",")
کد VBA کامل خواهد بود:
⧭ کد VBA:
6472
⧭ خروجی:
رشته را به آرایه ای متشکل از {«ما برای ویزای ایالات متحده درخواست دادیم»، «کانادا»، «استرالیا»، «فرانسه»}.
⧭ مثال 2:
همچنین میتوانید از یک فاصله (“ ”) به عنوان جداکننده استفاده کنید.
خط کد این خواهد بود:
Arr = Split(Text, " ")
کد VBA کامل خواهد بود:
⧭ کد VBA:
4360
⧭ خروجی:
رشته را به آرایهای متشکل از {"ما"، "اعمال"، "برای"، تقسیم میکند. "ویزای"، "از"، "ایالات متحده آمریکا"، "کانادا،"، "استرالیا،"، "فرانسه"}.
⧭ چیزهایی که باید به خاطر بسپارید:
- جداکننده پیشفرض یک فضا (“ ”) است .
- یعنی، اگر هیچ جداکننده ای وارد نکنید، از یک فاصله به عنوان جداکننده استفاده می کند.
بیشتر بخوانید: تقسیم رشته بر اساس کاراکتر در اکسل (6 روش مناسب)
خواندنی های مشابه:
- تقسیم متن به چند سلول های اکسل
- VBA برای دریافت مقادیر منحصر به فرد از ستون به آرایه در اکسل (3 معیار)
- Excel VBA: نحوه فیلتر کردن با چندگانه معیارها در آرایه (7 راه)
2. یک رشته را به یک آرایه با هر تعداد آیتم تقسیم کنید
شما می توانید یک رشته را به آرایه ای با هر تعداد آیتم بر اساس میل خود تقسیم کنید.
تعداد آیتم ها را به عنوان درج کنید آرگومان 3rd تابع Split .
⧭ مثال:
بیایید تقسیم رشته ای را در اولین آیتم های 3 با یک فاصله به عنوان جداکننده.
خط کدbe:
Arr = Split(Text, " ", 3)
و کد VBA خواهد بود:
⧭ کد VBA:
3278
⧭ خروجی:
رشته را به یک تقسیم می کند آرایه متشکل از اولین 3 آیتم های جدا شده توسط جداکننده فضا .
⧭ مواردی که باید به خاطر بسپارید:
- آگومان پیش فرض -1 است.
- به این معنی که اگر آرگومان را وارد نکنید، آن آرگومان تقسیم می شود. رشته را به حداکثر تعداد دفعات ممکن.
بیشتر بخوانید: نحوه تقسیم رشته بر اساس طول در اکسل (8 روش)
3. برای تقسیم یک رشته آرایه در VBA از هر دو جداکننده بزرگ و کوچک و غیر حساس استفاده کنید
تابع تقسیم به شما پیشنهاد می دهد که از هر دو حساس به بزرگی و جداکننده حساس به حروف کوچک و بزرگ .
برای جداکننده بدون حساسیت ، آرگومان 4 را به عنوان 1 وارد کنید.
و برای جداکننده بدون حساس به حروف کوچک و بزرگ ، آرگومان 4 را به عنوان 0 وارد کنید.
⧭ مثال 1: جداکننده غیر حساس به حروف کوچک و بزرگ
در رشته داده شده، بیایید متن "FOR" را به عنوان جداکننده و 2 را به عنوان جداکننده در نظر بگیریم. تعداد کل آیتم های آرایه.
اکنون، برای یک مورد بدون حساس به حروف کوچک و بزرگ ، خط کد این خواهد بود:
Arr = Split(Text, "FOR ", 3,1)
و کد VBA کامل خواهد بود:
⧭ کد VBA:
3552
⧭ خروجی:
از آنجایی که جداکننده به حروف کوچک و بزرگ حساس نیست در اینجا، "FOR" به صورت "for" کار می کند و رشته را به آرایه ای از دو مورد تقسیم می کند.
⧭ مثال 2: جداکننده حساس به بزرگی و کوچکی
دوباره، برای یک مورد حساس به حروف کوچک و کوچک ، خط کد به صورت زیر خواهد بود:
Arr = Split(Text, "FOR ", 3,0)
و کد VBA کامل خواهد بود:
⧭ کد VBA:
8042
⧭ خروجی:
از آنجایی که جداکننده به حروف کوچک و کوچک حساس است در اینجا، “ FOR" به عنوان "برای" نیست و رشته را به آرایه ای از دو مورد تقسیم نمی کند.
بیشتر بخوانید: Excel VBA: حذف موارد تکراری از آرایه (2 مثال)
⧭ مواردی که باید به خاطر بسپارید:
- مقدار پیش فرض آرگومان 0 است.
- یعنی اگر مقدار آرگومان 4 را وارد نکنید، برای تطابق حساس به حروف کوچک و کوچک کار می کند.
نتیجه گیری
بنابراین، با استفاده از این روش ها، می توانید از <1 استفاده کنید> تابع تقسیم از VBA برای تقسیم یک رشته به آرایه ای از آیتم ها. آیا هیچ سوالی دارید؟ از ما بپرسید.