نویسنده موضوع: تابع جدا کردن کلمات فارسی از انگلیسی  (دفعات بازدید: 4074 بار)

پروژه

  • کاربر تازه‌وارد
  • *
  • ارسال: 3
  • جمع امتیازها: +0/-0
تابع جدا کردن کلمات فارسی از انگلیسی
« : 18 فروردین 1394 - 19:55:14 »
سلام

یک ستون تقریبا 1000 سلی داریم که در هر سل هم کلمات فارسی و هم انگلیسی هست. چطور میشه هر سل را به دو سل تجزیه کرد به طوری که انگلیسی ها در یک سل و فارسی ها در یک سل دیگر قرار گیرند؟
یا اینکه کلا یک بار فارسی ها و یک بار انگلیسی ها را حذف کرد؟
تشکر

علی فیروزجایی

  • عضو ارشد انجمن
  • ****
  • ارسال: 260
  • جمع امتیازها: +194/-2
  • گاهی سکوت نشانه بی تفاوتی است نه رضایت.
    • توسعه و عمران شاخص
پاسخ : تابع جدا کردن کلمات فارسی از انگلیسی
« پاسخ #1 : 18 فروردین 1394 - 22:44:26 »
سلام دوست عزیز
آیا امکانش هست نمونه فایل را پیوست نمائید.
باتشکر

پروژه

  • کاربر تازه‌وارد
  • *
  • ارسال: 3
  • جمع امتیازها: +0/-0
پاسخ : تابع جدا کردن کلمات فارسی از انگلیسی
« پاسخ #2 : 19 فروردین 1394 - 16:47:44 »
با سلام و تشکر از پیگیری موضوع
فایل اصلی به پیوست ارسال شد. در واقع یه دیکشنری دو زبانه هست.


پروژه

  • کاربر تازه‌وارد
  • *
  • ارسال: 3
  • جمع امتیازها: +0/-0
پاسخ : تابع جدا کردن کلمات فارسی از انگلیسی
« پاسخ #3 : 19 فروردین 1394 - 16:49:48 »
سلام
یک فایل پیدا کردم که انگلیسی ها رو فقط جدا می کنه!!!

خیلی ممنون، به هر حال اگه از همین هم بتونم استفاده کنم کارم نصف میشه، اما وقتی میخوام از این استفاده کنم، ارور #NAME? ظاهر میشه. اگه ممکنه بفرمایید برای رفع این مشکل چه کنم.

tav

  • عضو ارشد انجمن
  • ****
  • ارسال: 336
  • جمع امتیازها: +82/-3
    • اکسل به زبان مثال...!
پاسخ : تابع جدا کردن کلمات فارسی از انگلیسی
« پاسخ #4 : 20 فروردین 1394 - 14:00:49 »
این کد بهتر به کار شما میاد....یه ماژول باز کنید و داخل اون کد رو کپی و اجرا کنید ...حتما هم کار روی یه کپی از فایل انجام بدید چون قابلیت بازگشت (Undo) وجود نداره....   اگر هم اعداد رو می خواهید که حذف نشند قسمت  9-0_ کد رو پاک کنید و همچنین اگر علامت^ در ایتدا کد z-aZ-A^  باشه دقیقا برعکس عمل می کند یعنی انگلیسی ها رو نگه می دارد و مابقی را پاک می کنه...!
کد حذف حروف انگلیسی :
Sub y()

Dim rng As Range

With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "[a-zA-Z_0-9]"
    For Each rng In Range("A1").CurrentRegion
        rng = .Replace(rng, "")
    Next rng
End With

End Sub

کد حذف حروف فارسی:
Sub x()

Dim rng As Range

With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "[^a-zA-Z_0-9]"
    For Each rng In Range("A1").CurrentRegion
        rng = .Replace(rng, "")
    Next rng
End With

End Sub

برای اطلاعات بیشتر درباره این اسکریپت ها به سایت مایکروسافت به این آدرس برید :
https://msdn.microsoft.com/en-us/library/ms974570.aspx
توکلی