مطالب برتر
جستجو
حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پیسیترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارتهای مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
🔵 کانالهای پیسیترفند در تلگرام و سروش:
telegram.me/pctarfand_ir
sapp.ir/pctarfand_ir
خلاصه آمار
جدا کردن متن فارسی (یا عربی) از متن انگلیسی در اکسل - ماکرو
قبلا در این مطلب نحوه تجزیه متن در اکسل بصورت عمومی اشاره شده است. برای یک حالت خاص که در یک سلول ترکیبی از متن فارسی و انگلیسی داشته باشیم و بخواهیم آنها را از هم جدا کنیم همیشه نمیتوان از روشهای گفته شده استفاده کرد. در ادامه مطلب با پیسیترفند همراه باشید با نحوه این جداسازی آشنا شوید.
- حالت ۱)
توضیحات را با یک مثال شروع میکنم که سوال یکی از کاربران انجمن آفیس فرساران است:
در ستون A دادهایی داریم که هم متن فارسی و هم متن لاتین میباشد و هیچگونه نظمی خاصی ندارد که بتوان آنها را با mid جدا کرد اگر ممکن است راهنمایی کنید؟
Yield Tax مالیات بازده
Yield Variance اختلاف بازده- تغییر پذیری بازده
Yo -Yo-Stock سهام متزلزل- سهام بیثبات
Zero Base Budgeting بودجه بندی بر مبنای صفر - روش بودجه ریزی از صفر
Zero Defect بدون نقص
Zip Code کد پستی
Zone ناحیه
Zone Free منطقه آزاد
Zone Freight Rate نرخ کرایه منطقهای
Zone of Acceptance حیطه پذیرش
Zone Pricing قیمت بندی ناحیهای
Zoning منطقه بندی- ناحیه بندی
در مثال فوق اگر دقت کنید در هر سلول بین متون فارسی و لاتین دقیقا 3 فاصله وجود دارد و همچنین در تمام موارد در سمت راست متن لاتین و در سمت چپ متن فارسی قرار دارد یعنی بصورت ترکیبی (مثلا aبcد) نیامده است. پاسخ این سوال در اینجا یعنی انجمن آفیس فرساران داده شده است که با استفاده از تجزیه و ترکیب متن در اکسل انجام میشود.
حالت ۲)
در حالتی مثل شکل زیر که متون بصورت ترکیبی میباشد و فاصله بین متون انگلیسی و فارسی در سلولها متفاوت است، دیگر نمیتوان از راه حل حالت ۱ (بالا) استفاده کرد. برای این حالت باید از کد ماکرو در اکسل استفاده نمود.
ابتدا سلولهایی که میخواهید متون انگلیسی و فارسی را از هم جدا کنید انتخاب نمایید (مثل شکل بالا)، سپس کلیدهای Alt + F11 را فشار دهید یا از تب Developer قسمت code گزینه Visual Basic را انتخاب کنید. پنجره Microsoft Visual Basic ظاهر میشود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.
در پنجره جدید باز شده کدهای زیر را کپی کنید.
Sub ExtractArabicFromEng()
'pctarfand.ir & tarfandha.blog.ir'
Dim x%, el As Range, EngStr$, ArabStr$, r As Range: Set r = Selection
If r.Column <> 1 Then MsgBox "Select only one column.": Exit Sub
Const CharList$ = "[A-Za-z0-9]"
Const Znaki$ = "[ ]" 'or another signs'
Application.ScreenUpdating = False
For Each el In r
EngStr = "": ArabStr = ""
For x = Len(el.Text) To 1 Step -1
If Mid(el.Text, x, 1) Like CharList Then
EngStr = Mid(el.Text, x, 1) & EngStr
ElseIf Mid(el.Text, x, 1) Like Znaki Then
EngStr = Mid(el.Text, x, 1) & EngStr
ArabStr = Mid(el.Text, x, 1) & ArabStr
Else
ArabStr = Mid(el.Text, x, 1) & ArabStr
End If
Next x
el.Offset(, 1).Value = Trim(ArabStr)
el.Offset(, 2).Value = Trim(EngStr)
Next el
Application.ScreenUpdating = True
End Sub
در پایان دکمه یا کلید F5 را فشار دهید تا عملیات جداسازی انجام شود.
روش فوق در همه حالات قابل استفاده است.
منبع: social.technet.microsoft.com
از روش ساخت تابع که در اینجا اشاره شده است نیز میتوان استفاده کرد اما محدودیت استفاده دارد.
برای مطلع شدن از جدیدترین مطالب سایت، کانالهای پیسیترفند در تلگرام و سروش را با آیدی pctarfand_ir@ دنبال کنید: |
سوالات خود در زمینه ورد و اکسل و ... را میتوانید از طریق ایمیل و پیامرسان سروش با ما مطرح کنید. آدرس ایمیل: tarfandha.blog@gmail.com آیدی سروش: pctarfand_info@ |
نظرات (۲)
ارسال نظر
قبل از ارسال نظر به نکات زیر توجه کنید:
۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.
۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.
۳- تنها به سوالاتی پاسخ داده میشود که از نحوه حل آنها اطلاع داشته باشم.
۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده میشود و به آنها پاسخی داده نمیشود.
الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،
ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.
طبقه بندی موضوعی
- آفیس و پیدیاف (۱۳۹)
- ورد (۵۷)
- اکسل (۷۶)
- پاور پوینت (۳)
- پیدیاف (۱۰)
- اینترنت (۴۱)
- فایرفاکس (۲۴)
- اینترنت/سایر (۱۸)
- کد نویسی (۴۶)
- دستورات داس (۳)
- ماکرونویسی (۴۰)
- نرم افزار ویدئو (۹)
- نرم افزار عکس (۳)
- بازی (۱)
- رپورتاژ آگهی (۱)
- سایر موارد (۵۰)
- موبایل (۵)
تبليغات
کلمات کلیدی
آخرين مطالب
-
معرفی و مقایسه موتورهای جستجوی ایرانی
پنجشنبه ۳۰ آبان ۱۳۹۸ -
جمع یک یا چند در میان ردیفها یا ستونها در اکسل - ماکرو
جمعه ۱۷ آبان ۱۳۹۸ -
ترفندهای نرم افزار مدیریت مراجع اندنوت
شنبه ۵ مرداد ۱۳۹۸ -
تبدیل موبایل به اسکنر بوسیله اپلیکیشن Office Lens
شنبه ۱۷ فروردين ۱۳۹۸ -
اضافه کردن متن بعد از اندنوت در ورد + ماکرو
چهارشنبه ۱ اسفند ۱۳۹۷ -
انتخاب یا حذف یک یا چند در میان ردیفها در اکسل - ماکرو
سه شنبه ۹ بهمن ۱۳۹۷ -
نگه داشتن فرمت و رنگ سلولها پس از ترکیب آنها در اکسل
سه شنبه ۲۷ آذر ۱۳۹۷ -
پیدا کردن نقاط تقاطع دو نمودار در اکسل - ماکرو
دوشنبه ۱۴ آبان ۱۳۹۷ -
ذخیره و انتقال ماکرو در ورد
يكشنبه ۱ مهر ۱۳۹۷ -
آموزش ایجاد و استفاده از ماکرو در نرمافزار ورد
پنجشنبه ۲۲ شهریور ۱۳۹۷