PDA

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



shamsololama
2010/04/10, 14:40
با درود
نوشتن یک تابع جدید در اکسل زمانی انجام می دهیم که تابع های از پیش ساخته در اکسل
کا مورد نظر ما را انجام ندهد و یا از استفاده ترکیبی بعضی از تابع ها که طولانی می شود بپرهیزیم

برای اینکار با زدن Alt+F11 وارد صفحه ویژوال می شویم
ابتدا از مسیر Insert یک ماژول جدید(Module) را ایجاد می کنیم
و در این ماژول یک رویه Function ایجاد کرده و تابع مورد نظر را کد نویسی می کنیم بصورت زیر

می خواهیم تابعی را با نام Man بنویسیم که هرزمان آن را در اکسل بنویسیم مشخصات خودمان را نام و فامیل و سال تولد را به ما نشان دهد یعنی یک عبارت ثابت


Function man()
man = "FName:Ahmad LName: shamsololama Dat:1352"
End Function

زمانی که این کد را وارد کردیم اگر در صفحه اکسل بنویسیم
=man()


جواب ما FName:Ahmad LName: shamsololama Dat:1352 خواهد بود
*******
حال اگر بخواهیم یک تابع محاسبه گر بنویسیم که هر زمان سال تولد را بنویسیم سن ما را مشخص کند بصورت زیر عمل می کنیم
نام تابع را sen می گزاریم

Function man(dat(
man = 1389 - dat
End Function
که در این صورت تابه را مثلا به این صورت
=sen(1352) استفاده می کنیم
که در اینصورت 1352 را از 1389 کم می کند و سن را سال 1389 حساب می کند

همانطور که می بینید این دو مثال بسیار ساده است که هر چه خواسته ما و انتظارمان از نتیجه کار بیشتر باشد باید کد را کامل تر نوشت مثلا در مثال دو سن ما را تا امسال که 1389 است حساب می کند ولی اگر یک سال دیگه گذشت و شد 1390 تابع ما به روز نشده و همان 1389 را محاسبه می کندولی طرح کلی ساخت تابع همین چیزی است که در عین سادگی در این دو مثال می بینید.
و توجه داشته باشید که این تابع فقط در همان ورک بوکی که نوشته ایم کار می کند و اگر ورک بوک دیگری باز کنیم تابع ما قابل استفاده نیست که برای این که در تمام صفحات استفاده شود باید آن را بصورت Addin ذخیره کنید و به اکسل اضافه شود
بدرود

mrexcel
2010/05/13, 18:07
با تشكر از شما استاد گرامي در ارسال مطالب كاربردي و عالي

mr.mahlouji
2010/05/15, 17:00
با سلام
واقعا استادي برازنده شما مي باشد.
بسيار عالي است.
باسپاس

shamsololama
2010/05/15, 17:34
این نظر لطف شماست وگرنه فکر نمی کنم اینطور باشه

arta44
2011/10/22, 11:27
با سلام

ایا میتوان تابعی نوشت که با وارد کردن نام یک فرد کد ملی او را نمایش دهد؟[hr]
در صورت امکان راهنمایی کنید.

shamsololama
2011/10/22, 11:49
با سلام

ایا میتوان تابعی نوشت که با وارد کردن نام یک فرد کد ملی او را نمایش دهد؟[hr]
در صورت امکان راهنمایی کنید.



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

arta44
2011/10/23, 12:15
ایا می توان دیتا بیس را در خود اکسل تعریف کرد مثلا در یک کار برگ مجزا و سپس در کاربرگ دیگر از ان استفاده کرد؟[hr]
با تشکر
[hr]
به عنوان مثال تابع index ,match[hr]
البته بیشتر نوع استفاده از تابع برایم مهم است
ایا تابع بهتری سراغ دارید

shamsololama
2011/10/23, 13:31
با درود فراوان
آره میشه تو اکسل تعریف کرد
بله با ترکیب تابع مچ و ایندکس می توانیداینکار رو انجام بدین و همچنین با وی بی میشه برای آن ستونیکه نام را وارد میکنید کد بنویسید که ا وارد کردن نام شماره ملی را از دیتا بیس فراخوانی کند

arta44
2011/10/24, 20:50
با سلام

اگر برایتان مقدور است در vba چنین برنامه ای بنویسید و اپلود کنید


با سپاس

shamsololama
2011/10/25, 11:43
با سلام

اگر برایتان مقدور است در vba چنین برنامه ای بنویسید و اپلود کنید


با سپاس


با درود فراوان
این فایل رو گذاشتم که تو شیت دیتا شماره ملی رو وارد میکنید و برنامهنوشته شده که اگر شماره ملی اشتباه بود پیغام بده و در شیت دوم هم اگر در ستون اول نام شخص وارد کنی شماره ملی آن فراخوانی میشه

arta44
2011/10/27, 08:41
سلام
دانلود نکرده از شما متشکرم

shamsololama
2011/10/27, 09:47
سلام
دانلود نکرده از شما متشکرم


با درود فراوان

خواهش میکنم

اگر مشکلی بود و یا سئوالی در مورد کدها در خدمتون هستم

arta44
2011/11/02, 07:46
سلام
خیلی بدردم خورد.
یک درخواست هم از شما داشتم
منبعی برای vba اگر درنظر دارید معرفی کنید
با تشکر

JAZIREH
2014/06/05, 10:25
با سلام

جدولی دارم با داده های تکراری ؛با تابعvlookup فقط داده اولی را که جستجو میکنه برمیگرداند. میخواهم کل داده های تکراری رانمایش دهد
لطفا راهنمایی کنید

Ali Parsaei
2014/06/05, 11:40
با سلام

جدولی دارم با داده های تکراری ؛با تابعvlookup فقط داده اولی را که جستجو میکنه برمیگرداند. میخواهم کل داده های تکراری رانمایش دهد
لطفا راهنمایی کنید
ببخشيد جسارتا" بهتر است اين نوشته را پاک کرده و خواسته خود را با ايجاد يک موضوع جديد مطرح کنيد، اون جوري بهتر به جواب خواهيد رسيد.
ضمنا" سوالتان يک کم گنگ است
لطف کنيد توضيح دهيد که داده ها بايد در يک ستون جدول جستجو شوند يا در کل جدول پخش هستند؟
کلا" داده هاي تکراري را چطور مي خواهيد مشخص شوند؟ در يک خانه پشت سر هم درج گردند؟ داده هاي تکراري در همان جاي خودشان با تغيير رنگ مشخص شوند؟ در يک ستون کمکي کنار داده هاي اصلي مشخص شوند؟ کلا" چکار مي خواهيد بکنيد؟
اگر نمونه فايل بگذاريد که خيلي خوب مي شود.

misammisam
2014/06/05, 16:54
با سلام

جدولی دارم با داده های تکراری ؛با تابعvlookup فقط داده اولی را که جستجو میکنه برمیگرداند. میخواهم کل داده های تکراری رانمایش دهد
لطفا راهنمایی کنید

با سلام
همونطور كه آقاي پارسا گفتن ، بهتر بود يك موضوع جديد ايجاد ميكرديد.
براي اين مورد هم شما بايد از Pivot table استفاده كنيد .
موفق باشيد