PDA

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



afshin3a
2014/01/14, 22:17
سلام بر اساتید گرامی
لطفا ابتدا فایل پیوست را دانلود نمایید.
در این شیت در ستون B من یک سری اطلاعاتی از مواد شیمیایی دارم که خاصیت Wrap text در این ستون فعال هست و اطلاعات مربوط به هر ماده در چند خط درون یک سلول قرار گرفته است. می خواهم:
اطلاعات هر ماده از جایی که علامت : هست انتخاب شود و تا پایان همان خط ادامه و سپس کپی شود و در ستون هم نام خود پیست شود.
مثال:
Product Name: Trichloroethane
انتخاب از بعد از علامت : شروع شود یعنی از t شروع و تا e ادامه پیدا کند (یعنی کلمهTrichloroethane کپی شود ) و در ستون C کپی شود.

نکته: اگر جلوی یک قسمت خالی بود، در ستون مربوطه مقدار خالی را برگرداند.

توضیحات بیشتر در فایل های پیوست

Amir Ghasemiyan
2014/01/14, 22:45
سلام دوست عزيز.
اين روشي بود كه به ذهنم رسيد. احتمالا اساتيد روش بهتري هم ميتونن بهتون بگن


=mid(b5;find(":";b5)+1;find(":";b5;14)-14-find(":";b5))


فايل ضميمه رو ملاحظه بفرماييد

afshin3a
2014/01/15, 00:59
سلام دوست گرامی
من شما را به خاطر فرمول فوق العاده ای را که پیشنهاد کردید تحسین می کنم فقط هنوز یه مشکل داره و انوم اینه که وقتی فرمول را به سلول های دیگر اعمال می کنم، در برخی از جاها کار نمی کنه. ظاهرا برای دو قسمت Product Name و Chemical Formula به خوبی کار می کنه.
فایل پیوست را ببنید.

خوشحال می شوم نظرتان در مورد این پیشنهاد بدونم:
ابتدا با یک فرمول مشخص به ابتدا یا انتهای تمام خطوط یک علامت مشخص مانند "." یا "/" اضافه کنیم.

مثلا به جای
Product Name: Trichloroethane
Catalog Codes: SLT4180, SLT2167, SLT3460
CAS#: 71-55-6
RTECS: KJ2975000
TSCA: TSCA 8(b) inventory: 1,1,1-Trichloroethane
CI#: Not available.
Synonym:
Chemical Formula: CH3CCl3

بنویسیم:
Product Name: Trichloroethane/
Catalog Codes: SLT4180, SLT2167, SLT3460/
CAS#: 71-55-6/
RTECS: KJ2975000/
TSCA: TSCA 8(b) inventory: 1,1,1-Trichloroethane/
CI#: Not available/.
Synonym/:
Chemical Formula: CH3CCl3/

بعد با فرمول CLEAN تمام فاصله های اضافی را حذف کنیم. و آن را به صورت زیر در بیاوریم:
Product Name: Trichloroethane/Catalog Codes: SLT4180, SLT2167, SLT3460/CAS#: 71-55-6/RTECS: KJ2975000/TSCA: TSCA 8(b) inventory: 1,1,1-Trichloroethane/CI#: Not available./Synonym:/Chemical Formula: CH3CCl3/



فقط من نمی دونم چه جوری این "/ " را به انتهای آنها اضاف کنم.
فک کنم اینجوری کار کردن روی آن آسانتر باشه. تازه بعدا می تونیم با استفاده از سربرگ Data با گزینه text to column بقیه کار را انجام بدیم. مشکل این روش اینه که من کلا 8 متغییر زیر را دارم و برای همه مواد شیمایی تمام متغیر ها موجود نیست.
متغییر ها:

Product Name:
Catalog Codes:
CAS#:
RTECS:
TSCA:
CI#:.
Synonym:
Chemical Formula:

ممکنه برای یک ماده مثلا سه تاشو داشته باشم. اونوقت بعد از زدن گزینه text to column اولین متغییر یعنی Product Name: درست جایگذاری میشه ولی بقیه درست قرار نمی گیرن.

به هر حال من فایل پیوست رو براتون پیوست کردم و ضمننا فرمول رو اعمال کردم به بقیه سلول ها و براتون کامنت هم گذاشتم.

تا همین جا از لطفی که کردید سپاسگزارم

Amir Ghasemiyan
2014/01/15, 13:50
بفرماييد دوست عزيز

از اين كد بايد استفاده كنيد



Sub splitting()
Dim avarSplit As Variant
Dim avarSplit2 As Variant
For j = 2 To 5
Text = Cells(j, 2).Value
avarSplit = Split(Text, Chr(10))
For k = 0 To UBound(avarSplit, 1)
For i = 0 To 8
If InStr(avarSplit(k), Cells(1, i + 3)) <> 0 Then
avarSplit2 = Split(avarSplit(k), ":")
If UBound(avarSplit2, 1) > 1 Then avarSplit2(1) = (avarSplit2(1) & ":" & avarSplit2(2))
Cells(j, i + 3).Value = avarSplit2(1)
Exit For
End If
Next i
Next k
Next j
End Sub




قسمتي كه قرمز كردم شما بايد شماره سطر هايي كه ميخواين جداسازي انجام بشه رو وارد كنيد. مثلا من از سطر 2 تا سطر 5 رو جدا كردم. درضمن نيازي به / و . و .... نيست. بطور معمولي موارد رو بنويسيد اين كد خودش براتون جدا ميكنه

درضمن لطف كنيد سلول D1 رو اصلاح كنيد و : رو از انتهاي نوشته حذف كنيد تا كد به درستي كار كنه

afshin3a
2014/01/15, 21:35
بسیار ممنونم دوست گرامی!
راستش من یه پروژه دارم و حالا که دیدم یه چنین کارهای خفنی رو با اکسل میشه انجام داد، یه خورده توقعم رفته بالا!:o
من عنوان می کنم که چی می خوام ولی میدونم تقریبا غیر ممکنه که بشه با اکسل یه چنین کاری رو کرد! ولی اگر راهی داره، خوشحال میشم دوستان کمکم کنن!
شرح پروژه:
من 5000 ماده شیمیایی را در یک فایل اکسل هاپیرلینک کردم. (مطابق فایل پیوست)
حالا دنبال کدی می گردم که اطلاعات خاصی را از یک محدوده ی مشخص از فایل های PDF کپی کنه و در اکسل در ستون C پیست کنه!

فیلم روش انجام کار را نیز پیوست کردم (850 کیلو بایت)


2041

حسام بحرانی
2014/01/15, 21:43
بسیار ممنونم دوست گرامی!
راستش من یه پروژه دارم و حالا که دیدم یه چنین کارهای خفنی رو با اکسل میشه انجام داد، یه خورده توقعم رفته بالا!:o
من عنوان می کنم که چی می خوام ولی میدونم تقریبا غیر ممکنه که بشه با اکسل یه چنین کاری رو کرد! ولی اگر راهی داره، خوشحال میشم دوستان کمکم کنن!
شرح پروژه:
من 5000 ماده شیمیایی را در یک فایل اکسل هاپیرلینک کردم. (مطابق فایل پیوست)
حالا دنبال کدی می گردم که اطلاعات خاصی را از یک محدوده ی مشخص از فایل های PDF کپی کنه و در اکسل در ستون C پیست کنه!

فیلم روش انجام کار را نیز پیوست کردم (850 کیلو بایت)


2041

با سلام ، دوست عزیز پیشنهاد می کنم به اینجا (http://exceliran.com/project-order/)مراجعه کنید .
با سپاس
ɦɛʂɑɱ ɓɑɦɾɑɳɨ (http://hesam.bahrani@yahoo.com)

afshin3a
2014/01/15, 22:00
من پیشنهاد پروژه رو ارسال کردم. چه جوری منو خبر می کنید؟

Amir Ghasemiyan
2014/01/15, 22:19
من پیشنهاد پروژه رو ارسال کردم. چه جوری منو خبر می کنید؟

اساتيد پيشنهادتون رو بررسي ميكنن، در صورت تاييد مديران از طريق پيام خصوصي و يا شماره اي كه دادين ظرف دو سه روز آينده با شما تماس ميگيرن