آموزش جدا سازی متن از عدد در اکسل همراه کد VBA در اکسل 2019
اگر ستونی در اکسل دارید که از متن و عدد تشکیل شده است.
کنون می خواهید متن و شماره ها را از یک سلول به دو سلول مختلف جدا کنید
هر کدام به یک سلول به صورت خودکار تقسیم بشه آموزش جدا کردن متن از عدد در اکسل مراحل زیر را با دقت دنبال کنید.
همان طور که در تصویر زیر هم مشاهده می کنید
جدا کردن متن از عدد در اکسل
1- فایل مورد نظر خود را باز کنید که دارای اطلاعات است
و بعد کد زیر را به صورت کامل کپی کنید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Option Explicit Public Function Strip(ByVal x As String, LeaveNums As Boolean) As Variant Dim y As String, z As String, n As Long '( WWW.7REPLY.COM ) For n = 1 To Len(x) y = Mid(x, n, 1) If LeaveNums = False Then If y Like "[A-Za-z ]" Then z = z & y '( WWW.7REPLY.COM ) Else If y Like "[0-9. ]" Then z = z & y '( WWW.7REPLY.COM ) End If Next n Strip = Trim(z) End Function |
کد های پایین را یکی از کاربران سایت سون ریپلای ویرایش کد می توانید از این کد ها در صورت نیاز استفاده نمایید کد اول
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
‘——————————— ‘تهیه شده در ( http://WWW.7REPLY.COM ) ‘——————————— Public Function Strip(ByVal x As String, LeaveNums As Boolean) As Variant Dim y As String, z As String, n As Long For n = 1 To Len(x) y = Mid(x, n, 1) If LeaveNums = False Then If y Like “[-9. ]” Then z = z Else z = z & y End If Else If y Like “[-9. ]” Then z = z & y End If Next n If LeaveNums = True Then Strip = Val(z) Else Strip = Trim(z) End If End Function |
کد دوم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
‘—————- Dim y As String, z As String, n As Long ‘( http://WWW.7REPLY.COM ) For n = 1 To Len(x) y = Mid(x, n, 1) If LeaveNums = False Then If y Like “[-9. ]” Then z = z Else z = z & y End If Else If y Like “[-9. ]” Then z = z & y ‘( http://WWW.7REPLY.COM ) End If Next n Strip = Trim(z) |
بعد از کپی کردن کد باله وارد فایل اکسل خود شوید که می خواهید جدا سازی متن از عدد در اکسل انجام بدهید بعد از وارد شدن به فایل اکسل.
با زدن کلید های Alt+F11 وارد محیط کد نویسی اکسل شوید الان باید یک فایل ماکرو ایجاد کنید در سمت چپ قسمت سفید رنگ راست کلیک کنید
از گزینه Insert در لیست باز شد روی Module کلیک کنید مثل تصویر زیر
بعد از باز شدن ماکرو کد های که از سایت
کپی کرد بودین را با کلیک های Ctrl+V وارد ماکرو کنید مثل تصویر زیر
الان دیگه محیط کد نویسی vba اکسل را ببندید کار تمام شد
برای جدا کردن شماره تلفن فقط کافی است که فرمول زیر را در سلول شماره تلفن وارد کنید مثل تصویر زیر
1 |
=NUMBERVALUE(Strip(A2,TRUE)) |
شما با این کار جدا سازی شماره تلفن را از متن انجام دادین
همان طور که در تصویر زیر هم مشاهده می کن شماره تلفن جدا شد
جدا کردن عدد از متن در اکسل + ماکرو
خوب الان نوبت جدا کردن متن از عدد است برای این کار هم یک فرمول بسیار ساده است فرمول زیر را کپی کنید مثل تصویر زیر عمل کنید
1 |
=Strip(A2,FALSE) |
خوب دوستان عزیز همان طور که در تصویر زیر هم مشاهده می کنید متن هم از عدد جدا شد
این هم از آموزش جدا سازی متن از عدد در اکسل 2019 هم متن جدا شد و هم شماره تلفن
خوب دوست و همراهان سایت سون ریپلای آموزش جدا سازی متن از عدد در اکسل به پایان رسید
در نظر داشته باشید که باید این فایل را با فرمت xlsm ذخیره کنید اگر هم آشنایی با فرمت ها اکسل ندارید پیشنهاد می کنم آموزش زیر را مشاهده کنید
آموزش نمایش پسوند فایل ها در ویندوز ۱۰، ۸،۷ همراه با فیلم آموزش رایگان
تا یک آموزش رایگان اکسل در پناه حق باشید
سلام من برای جدا سازی متن فارسی و سایر حروف (یعنی همه چیز بجز عدد) تابع را کمی تغییر دادم
ضمن اینکه در پایان همین تابع وقتی عدد از متن جدا شود باز هم عدد را بصورت متن میشناسد(text) که اون را هم در پایان تابع اصلاح کردم و اکسل اعداد استخراج شده را بصورت عدد خواهد شناخت
اگر دوست داشتید درسایتتون منتشر کنید تا بقه هم استفاده کنند
‘———————————
‘تهیه شده در ( http://WWW.7REPLY.COM )
‘———————————
Public Function Strip(ByVal x As String, LeaveNums As Boolean) As Variant
Dim y As String, z As String, n As Long
For n = 1 To Len(x)
y = Mid(x, n, 1)
If LeaveNums = False Then
If y Like “[0-9. ]” Then
z = z
Else
z = z & y
End If
Else
If y Like “[0-9. ]” Then z = z & y
End If
Next n
If LeaveNums = True Then
Strip = Val(z)
Else
Strip = Trim(z)
End If
End Function
سلام ارادت خدمت شما دوست عزیز
خیلی خیلی ممنون بابت زحمت تون بله خیلی هم خوشحال هستم که دوست مثل شما دارم هر دو کد هم روی سایت منتشر داده شد
سلام
من یک تغییر کوچک و ساده در متن این تابع دادم و برای استخراج کارکتر ها (فارسی و غیر فارسی) نتیجه گرفتم
‘—————-
Dim y As String, z As String, n As Long ‘( http://WWW.7REPLY.COM )
For n = 1 To Len(x)
y = Mid(x, n, 1)
If LeaveNums = False Then
If y Like “[0-9. ]” Then
z = z
Else
z = z & y
End If
Else
If y Like “[0-9. ]” Then z = z & y ‘( http://WWW.7REPLY.COM )
End If
Next n
Strip = Trim(z)
‘—————————–
سلام
من این کد را زدم ولی برای استخراج حروف فارسی نتیجه نگرفتم!!!!؟
خیلی ممنون لطف کردین
موفق باشید
سلام
من طبق آموزش حضرتعالي عمل كردم ولي ماژول مورد نظر به اكسل اضافه نشد
سلام خسته نباشید.
اولا ممنونم بابت این راهنمایی.
دوما سوالی داشتم.
چرا روی فارسی امتحان کردم انجام نشد؟حروف فارسی منظورمه.
ممنون میشم جواب بدید
سلام خدمت شما دوست گرامی
بله حق باشما است این آموزش فقط برای حروف انگلیسی است توی آموزش های بعد این مورد را هم یک آموزش روی سایت قرار میدهم که بتوانید حروف فارسی را هم جدا کنید
ممنون بابت پیشنهاد تون موفق باشید
با سپاس از اموزش خوبتون.برای متن فارسی جواب نمیده
درود برشما دوست گرامی
بله متاسفانه از زبان فارسی پشتیبانی نمیکند این روش ایشاالله توی یک آموزش دیگه این را هم برطرف خواهید کرد
موفق باشید
سلام.اگر متن فارسی باشه کاربرد نداره؟
درود بر شما دوست گرامی بله اگر متن شما فارسی باشد فرمول به درستی اجرا نمیشه فقط برای متن های انگلیسی می باشد موفق و پیروز باشید
سلام
ممنون از سايت خوبتون، اما متاسفانه من نتونستم از اين روش استفاده كنم
پيغام خطا زير رو داد
compile error
ambiguous name detected:strip
سلام و ارادت خدمت شما دوست گرامی به احتمال زیاد فرمولها را به درستی وارد نکردید برای همین ارور داده لطفاً با دقت بیشتر بررسی فرمایید مشکلی پیش نمیاد براتون اجرا میشه موفق و پیروز باشید
من هر کاری که تو ویدیو میگین انجام میدم اما اوکی نیست
سلام و ارادت خدمت شما دوست گرامی چه مشکلی براتون پیش میاد خطا را برای ما ارسال کنید تا بتوانیم راهنمایی تون کنیم موفق و پیروز باشید