PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : (آموزشی) جدا سازی نام ها از یکدیگر



ali.b
2015/06/16, 10:30
سلام
حتما برای ما پیش اوده که نیاز داریم کلماتی که در یک سلول درج شدند رو تفکیک کنیم مانند تفکیک نام و نام خانوادگی

ساده ترین راه استفاده از توابع هست اما در این بخش اگه نام و نا خانوادگی یا کلا هر جمله ای تعدادشون متناوب باشه باید برای هر تفکیک شدن یک فرمول نوشت که کار راحتی نیست
این کد زیر تمام کلماتی که با یک space از یک دیگر جدا شده باشن رو برای ما تفکیک میکنه حالا هر تعدادی باشه مهم نیست

Sub foo()
Dim varArr As Variant
Dim i As Long, strArr() As String
Application.ScreenUpdating = False
With Worksheets(1)
Let varArr = .Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1).End(xlUp)).Value
If IsArray(varArr) Then
For i = LBound(varArr, 1) To UBound(varArr, 1)
Let strArr() = Split(varArr(i, 1))
Let .Cells(i, 2).Resize( _
, UBound(strArr) + 1).Value = strArr
Erase strArr
Next
Else: .Cells(1, 2).Resize(, 2).Value = Split(varArr)
End If
End With
Application.ScreenUpdating = True
End Sub

ZAMEN58
2016/08/14, 21:44
سلام ممنون
یه سؤال
این ماکرو اعداد رو از اول به آخر وارد می کنه
اگه بخواهیم از آخر به اول وارد کنه چی باید تغییر کنه
در ضمن یه ایرادی هم داره که توی فایل پیوست مشخص شده
یعنی وقتی تعداد ردیفها زیاد میشه ، از ردیف اول انجام نمیده
از راهنمایی شما ممنون میشم

iranweld
2016/08/15, 07:55
با سلام

از قابلیت text to columns از منوی دیتای اکسل استفاده کنید

ZAMEN58
2016/08/15, 20:00
سلام ممنون
خیلی عالی بود