PDA

نسخه کامل مشاهده نسخه کامل : ◄◄◄ آموزش نكات كاربردي Microsoft Excel در اينجا




    

wordist
30-12-2007, 12:41
دوستان عزيزم سلام

هدف از ايجاد اين تاپيك ارائه نكات آموزشي و كاربردي نرم‌افزار قدرتمند اكسل مي‌باشد.

توضيحات:

1. دوستان لطفا سوالات و مشكلات خودشون در مورد اكسل اينجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) بپرسن و از مطرح‌كردن سوال در اين تاپيك خودداري كنن.

2. حتي‌المقدور از گذاشتن آموزشهاي خود بصورت لينك يا آدرس پرهيز نموده و نيز هركدام از آموزشهاي خود را در پست جداگانه ارسال نمائيد تا بتوان در فهرست‌بندي موضوعات بصورت دقيق‌تري عمل كرد.

3. سعي كنيد آموزشهاي مبتدي يا حرفه‌اي خودتون رو بصورت جامع و كامل اينجا قرار بدين تا همه كاربران (مبتدي و ...) بتونن براحتي استفاده نمايند.

4. از دادن پستهاي بيهوده (اسپم) مانند تشكر و .... جدا خودداري نمائيد.

5. نقطه نظرات ، پيشنهادات و انتقادات خودشون رو نسبت به پستهاي اين تاپيك در پيغام خصوصي براي من يا فرستندگان ارسال نمائيد.

فهرست نكات آموزشي : در پست دوم

wordist
30-12-2007, 12:46
بزودي فهرست تمامي آموزشهاي موجود در اين تاپيك يا تاپيكهاي ديگر را قرار مي‌دهم


موفق باشيد

javad2625
07-01-2008, 15:52
آموزش Excel 2003 و Excel 2007 (برنامه صفحات گسترده) در يك جلسه

در اين قسمت مي خوانيد:
-1♦ اصل مطلب (براي آنها كه فرصت خواندن متن كامل را ندارند)
-2♦ ويژگي ها و كاربردهاي اكسل و مفهوم صفحه گسترده
-3♦ اجزاي اصلي محيط اكسل و تفاوت هاي نسخه 2003 با 2007
-4♦ آموزش اكسل (2003و2007)
----الف• وارد كردن داده ها در خانه هاي كاربرگ و دانستن نشاني هر خانه
----- ب • فرمول نويسي
----- پ • مرتب سازي (Sorting)
----- ت • آرايش جداول
5♦ تفاوت هاي Excel با Access
6♦ فهرست مطالب این تاپیک
7♦ لينك هاي مرتبط

1-اصل مطلب

به طور خلاصه، اكسل از جدول هايي با طول و عرض نامحدود تشكيل شده كه مي توان اطلاعات را با حجم كم يا زياد در آنها ذخيره و يا پردازش نمود. براي نوشتن هر گونه داده، در خانه هاي جدول كافي است روي خانه مربوطه كليك كرده و عدد يا نام يا عبارت دلخواه را بنويسيم. هر خانه، با يك آدرس مشخص مي شود كه شماره ستون و رديف آن است. مثلاً خانه A5 يعني رديف 5 از ستون A.

براي انجام محاسبات روي داده هاي عددي، كافي است در خانه دلخواه كليك كرده، فرمول مناسب را جلوي عبارت = بنويسيم. مثلاً اگر بنويسيم A5+B7= آن خانه مجموع خانه هاي A5 و B7 را نمايش مي دهد. يا اگر بنويسيم Avg(A5:A10)= ميانگين خانه هاي A5 تا A10 را نمايش مي دهد. براي مرتب كردن داده هاي غير عددي مي توانيم محدوده دلخواه را با ماوس انتخاب كرده و با گزينه Sort آنها را مرتب كنيم.

توضيحات كامل تر در ادامه...

2- ويژگي هاي اكسل و مفهوم صفحه گسترده
آيا تا به حال فكر كرده ايد چه خوب بود اگر حساب و كتاب ماهيانه خود را با كامپيوتر انجام مي دادم؟
آيا تا كنون نياز به انحام محاسبات پيچيده يا چند مرحله اي روي تعداد زيادي داده پيدا كرده ايد؟
آيا دوست داريد از برخي داده ها و اطلاعات خود نمودارهاي زيبا و حرفه اي بسازيد؟
آيا جداول شما به حدي بزرگ است كه در صفحات معمولي برنامه Word جا نمي گيرد؟
آيا مي خواهيد با تغيير مقدار هر داده، مقادير وابسته به آن نيز به طور خودكار اصلاح شوند؟

همه امكانات بالا در نرم افزار اكسل با طرز كاري ساده و در عين حال بسيار حرفه اي موجود است. مهم ترين خاصيت اكسل داشتن صفحات گسترده (SpreadSheet) يعني جداولي با طول و عرض تقريباً نامحدود است كه امكان ذخيره سازي و پردازش سريع داده هاي حجيم را فراهم مي كند. اما در عين حال، جهت امور محاسباتي روزمره، حتي در حد عملكرد يك ماشين حساب معمولي نيز كاملاً كاربرد دارد.

اين برنامه به همه كساني كه به طريقي با حساب و كتاب سر و كار دارند توصيه مي شود. به خصوص دانش آموزان رشته رياضي دبيرستان و دانشجويان رشته هاي مهندسي دانشگاه كه در تمام مدت تحصيل و كار به آن نياز خواهند داشت.

3-اجزاي اصلي محيط اكسل و تفاوت هاي نسخه 2003 با 2007

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به طور كل، اكسل 2007 از 4 قسمت اصلي تشكيل شده.
1- دكمه Microsoft Office (به شكل دايره در گوشه بالا سمت چپ) : كه عملكرد منوي فايل در نسخه هاي را دارد. از جمله گزينه Save, Open, Print و... در اين قسمت واقعند.
2- نوار ابزار (دكمه هاي عكس دار رديف بالاي صفحه) كه كليه ابزارهاي اكسل از قبيل تغيير اندازه، رنگ، رسم نمودار و... را شامل شده و در نسخه 2007، با كليك روي قسمت هاي Home, Insert, PageLayout و... نوار ابزار عوض مي شود.
3- نوار فرمول (زير نوار، همانجا كه عبارت fx نوشته شده) : جهت ايجاد، مشاهده و تصحيح فرمول در خانه هاي فرمول دار به كار مي رود.
4- كاربرگ (WorkSheet) كه يك جدول با طول و عرض نا محدود است (قسمت اصلي برنامه اكسل). هر فايل اكسل، كه با نام WorkBook (دفترچه) شناخته مي شود به طور پيشفرض، از سه كاربرگ به نام هاي Sheet1, Sheet2, Sheet3 تشكيل شده كه مي توان با كليك روي نام آنها (در پايين صفحه) محتوايشان را مشاهده يا ويرايش كرد.

موارد 2 تا 4 در نسخه 2003 هم موجودند اما نسخه 2007 كاملاً از لحاظ ظاهري با 2003 تفاوت دارد و عملكرد آن در نگاه اول (به غلط) به نظر مشكل تر از 2003 مي آيد. مهم ترين تفاوت اين نسخه نسبت به 2003، حذف نوار منو و تبديل شدن آن به سربرگ نوار ابزارهاي متفاوت است.

4-آموزش اكسل (2003و2007)
الف• وارد كردن داده ها در خانه هاي كاربرگ و دانستن نشاني هر خانه
جهت وارد كردن هر گونه داده، اعم از اعداد يا كلمات روي خانه دلخواه كليك كرده و مقدار آن را وارد مي كنيم. (مثلاً اسامي دانش آموزان يك كلاس و نمراتشان). ستون هاي هر كاربرگ اكسل با حروف الفباي انگليسي (A, B, Cو ...) و رديف هاي آنها با اعداد (1,2,3,...) شماره گذاري شده اند. پس وقتي مثلاً مي گوييم خانه C11 يعني رديف 11 از ستون C.

ب • فرمول نويسي
چنانچه بخواهيم، يك خانه از جدول، حاصل انجام يك محاسبه روي ديگر خانه ها را نمايش دهد، بايد به آن فرمول بدهيم. براي اين كار، روي خانه دلخواه كليك كرده، عبارت = را (يا با كليك روي عبارت = در نوار فرمول يا با زدن دكمه = صفحه كليد) وارد كرده، فرمول دلخواه را به صورت رياضي ساده وارد مي كنيم. مثلاً اگر در خانه اي بنويسيم:
A5*A6= (اين خانه، حاصلضرب خانه هاي A5و A6) را محاسبه مي كند. )
B5+D7+C8^2= (مجموع توان دوم خانه B8 با عدد موجود در خانه هاي D7و B5) را نشان مي دهد.
(SUM (D5:D10 = (مجموع خانه هاي D5 تا D10) را نشان مي دهد.

البته شما لزوماً نيازي به نوشتن فرمول نداريد، بلكه فقط با كليك روي نام تابع دلخواه (در قسمت نوار فرمول) آن را انتخاب كرده و با كليك روي خانه هاي دلخواه، آدرس آنها را وارد فرمول مي كنيد. پس از وارد كردن فرمول، شما ديگر خود آن را مشاهده نمي كنيد بلكه پاسخ محاسبه آن را مشاهده مي كنيد. جهت ديدن خود فرمول، كافي است روي خانه فرمول دار كليك كرده و نوار فرمول را ببينيد.

پ • مرتب سازي (Sorting)
جهت مرتب كردن داده ها به ترتيب صعودي يا نزولي، كافي است محدوده اي را كه مي خواهيم مرتب شود با ماوس انتخاب كرده (با پايين نگه داشتن دكمه سمت چپ ماوس و كشيدن يك مربع دور آن محدوده) سپس در:
اكسل 2003: گزينه Data> Sort
اكسل 2007: گزينه Sort and Filter
كليك مي كنيم.

ت • آرايش جداول
جهت تغيير رنگ خانه هاي جدول يا رنگ فونت آنها كافي است رنگ هاي دلخواه را از قسمت Font Colorو Fill Color در نوار ابزار انتخاب كنيم.
جهت تغيير اندازه ستون ها يا رديف ها كافي است ماوس را به كناره سرستون (خانه خاكستري رنگ) يا اولين خانه هر رديف برده و در جايي كه ماوس شبيه يك خط عمودي با دو فلش مي شود، يك كليك كرده و با كشيدن ستون يا رديف مربوطه، اندازه آن را تغيير دهيم.
جهت تبديل نماي جدول از حالت «چپ به راست» به حالت «راست به چپ» (مطابق شكل بالا) كافي است:
در اكسل 2003: گزينه Tools> Options> View> Right-to-Left>OK
در اكسل 2007: گزينه Page Layout> Sheet Right-to-Left را بزنيم.

تفاوت هاي Excel با Access
Access يك نرم افزار مخصوص ساخت بانك هاي داده است كه طرز كار آن به راحتي اكسل نبوده و زيبايي و كاربر پسندي اكسل را هم ندارد. اما در عوض داراي امكان گزارش گيري (يعني ساخت Query و Report) است كه اكسل ندارد.

براي مثال فرض كنيد شما هر ماه، فهرست هزينه هاي خود را در يكي از اين دو برنامه ثبت كرده باشيد. حالا مي خواهيد هزينه هاي با مبلغ بيش از 100 هزار تومان را كه بين فروردين تا شهريور 85 داشته ايد مشاهده نمائيد. در اين صورت، فقط Access مي تواند چنين فهرستي را به صورت خودكار برايتان درست كند. ولي در Excel بايد آن را خودتان به صورت دستي درست كنيد. به چنين فهرست هايي كه حاصل تجزيه و تحليل داده هاي جداول باشند، «پرس و جو» (Query) و به نماي چاپي Query ها «گزارش» (Report) گفته مي شود. اين دو امكان، فقط در اكسس وجود دارند.

javad2625
07-01-2008, 15:55
آموزش Pivot Table (ابزار گزارش گيري در اكسل)

PT هميشه براي به دست آوردن جمع كل يك داده به كار مي رود.
مثلاً جمع كل فروش شركت در تاريخ فلان يا جمع كل نمره دانش آموزان در آزمون فلان يا جمع كل ؟؟؟؟ در ؟؟؟؟ .

فرض كنيد يه شركت فروش روزانه خودش رو در جداول اكسل ثبت مي كنه.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

حالا ميخواد مجموع فروش مودم هاي ADSL رو در تاريخ 23/4/86 بدونه.

مراحل كار:
Data> Pivot Table and Pivot Report> Finish

حالا با عمل كشيدن و رها كردن (Drag & Drop) فيلد «نام كالا» رو از قسمت Pivot Table Field List به قسمت Drop Row Fields Here برده و تاريخ فروش رو به قسمت Drop Column Fields Here و قيمت فروش رو به قسمت Drop Data Items Here مي بريم.

خواهيم ديد كه در PT ايجاد شده، مجموع فروش هر كالا در هر تاريخ، مجموع كل فروش هر تاريخ، مجموع كل فروش هر كالا و مجموع كل فروش تا كنون به ما داده ميشه. خيلي جالبه. نيست؟

علی علی علی
13-01-2008, 02:17
سلام
این لینک یه سری فرمولهای کاربردی توش هست که میتونید ازش استفاده کنید همراه مثال آموزش داده شده:
مثل جدا کردن حروف از سمت راست یا چپ و....

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فرمت فایل همون اکسل هست.حجمی نداره.

javad2625
23-01-2008, 13:09
فرمول هاي شرطي
فرض كنيد مي خواهيم فرمول يك خانه را به اين ترتيب بنويسيم:
اگر A1>B2 آنگاه اين خانه برابر است با A1-B2 در غير اين صورت B2-A1

همانطور كه مي بينيد هر عبارت شرطي از سه قسمت تشكيل شده:
1- «اگر ...» (تست منطقي) (logical Test)
2-« آنگاه...» (پاسخ در صورت صحت تست) (Value if True)
3- «در غير اين صورت...» (پاسخ در صورت عدم صحت تست) (Value if False)

براي نوشتن چنين فرمولي، كافي است عبارت )If= را در خانه مربوطه نوشته و موارد 1 تا 3 را به ترتيب داخل پرانتز وارد كنيم. مثلاً


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
جهت نوشتن فرمول هاي دوشرطي يا سه شرطي بايد از If هاي تو در تو استفاده كنيم. يعني به جاي عبارت Value If True يا Value If False يك عبارت شرطي ديگر را درج كنيم. مثلاً:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

قالب بندي شرطي

چنانچه مي خواهيد رنگ يا فونت خانه مذكور بسته به جواب شرط تغيير كند، مي توانيد از ابزار:
Format> Conditional Formatting استفاده نمائيد.

javad2625
29-01-2008, 19:17
استفاده از ListBox و ComboBox در اكسل

براي ترسيم LB يا CB در كاربرگ، كافيه از نوار ابزار Control Toolbox گزينه LB يا CB را دوبار كليك كنيم.
(View> Toolbars> Control Toolbox)

براي تعيين مقادير موجود در LB/CB كافيه روي اون راست كليك كرده، گزينه Properties را انتخاب و در قسمت Selection Range آدرس محدوده اي رو كه مقادير در اون نوشته شده اند بنويسيم. مثلاً:
A1:A5

براي اين كه با كليك روي هر مقدار موجود در Lb/Cb مقدار يكي از خانه هاي جدول هم معادل اون بشه كافيه در قسمت Properties پراپرتي Linked Cell رو معادل آدرس اون خونه قرار بديم. مثلاَ D5.

براي اين كه با كليك يا دابل كليك روي هر مقدار از Lb/Cb اتفاق خاص ديگري بيفته بايد از برنامه نويسي ويژوال بيسيك استفاده كنيم. (اگه مثال خاصي از برنامه نويسي VB خواستيد ذكر كنيد تا بگذارم).

براي اين كه يك خانه از كاربرگ به شكل CB در بياد:

data==> validation===> list===> select data====> ok

(البته بايد از آقاي سليمي تشكر كنم. چون اين يكي رو من هم بلد نبودم)

براي اين كه مثلاً با انتخاب نام يك كالا در CB، قيمت اون، در خانه بعدي نوشته شود بايد از Lookup Wizard استفاده كنيم:
Tools> Add-ins> Look-up Wzard> OK
Tools> Look-up Wizard

wordist
05-02-2008, 15:16
فرض كنيد كه يه جدول داشته باشيم كه مي خواهيم در يه خونه از اون با زدن يك كد (كد كالا) قيمت متناظر اون از ستون يا ستونهاي بعديش بياد


تابع VLOOKUP : اين تابع به جستجو در ستون اول محدوده ديتاي شما پرداخته و پس از پيدا كردن مقدار موردنظر ، مقدار متناظر ان را از ستوني كه شما مشخص مي‌كنيد برمي‌گرداند

مثال :

فرض كنيد قرار است قيمت كد كالايي كه در خانه B8 نوشته مي شود در خانه C8 قرار گيرد با توجه به جدول موجود بالايي

فرمولي كه در خانه C8 بايد نوشته شود اين است :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمي توان با زدن fx در خانه مربوطه مطابق موارد زير تنظيمات رو انجام داد:

مقدار LOOKUP_VALUE : خانه B8
مقدار TABLE_ARRAY : محدوده A2:C5
مقدار COL_INDEX_NUM : عدد 3
مقدار RANGE_LOOKUP : در اين قسمت FALSE وارد مي‌گردد

توضيحات مطابق مقادير بالا:

ميخواهيم قيمت فلان كد كالا را (مقدار LOOKUP_VALUE ) را در محدوده فلان (مقدار TABLE_ARRAY ) از ستون سوم (مقدار COL_INDEX_NUM : عدد 3 براي ستون 3) را پيدا كنيم


حالا اگه توي خانه B8 مثلا عدد 101 رو وارد كني بايد توي خانه C8 مقدار معادل قيمت رو بهت بده


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


نكته مهم :

اگر مقدار RANGE_LOOKUP برابر FALSE باشد دقيقا دنبال عدد مورد نظر ( در اين مثال دنبال كد كالا) مي گردد و اگر پيدا نكرد متناظري برنمي‌گرداند و خطا مي‌دهد ولي اگر TRUE باشد دنبال بزرگترين عددي كه از آن كوچكتر است مي‌گردد و متناظر ان را برمي گرداند.

wordist
07-02-2008, 13:00
سلام دوستان

اينم يه ماژول خوب براي تبديل تارخ شمسي و ميلادي به همديگه و قابليتهاي ديگه

جالبه و با طرز كار راحت دقيقا مانند مابقي فرمولها ميتونين از فرمولهاش استفاه بكنين

طرز استفاده :

با دقت كارهاي زير رو انجام بدين

فايلي كه حاوي ماژول تبديل تاريخ هست رو از ضميمه دانلود كنيد

اون رو از حالت زيپ شده خارج كنيد

بعد اكسل رو باز كرده و با زدن ALT+F11 به ويژوال بيسيك بريد

در اون محيط از منوي File گزينه Import File رو بزنيد و آدرس فايل اكستراكت شده رو بديد

حالا با اين كار يه ماژول به نام Module1 به ليست سمت چپ اضافه ميشه

با دابل كليك روي اون ماژول كدهاي نوشته شده ظاهر ميشه

در اخرين سطور موجود در قسمت كدها توضيحات هشت تابع ديده ميشه كه به رنگ سبز هست

اينم دو تا نمونه توضيح مربوط به دو تابع مفيد mtos و stom

mtos() : اين تابع تاريخ ميلادي رو بصورت y/m/d (روز/ماه/سال) ميگيرد و معادل شمسي ان را بصورت y/m/d بر ميگرداند

stom() : اين تابع تاريخ شمسي رو بصورت y/m/d (روز/ماه/سال) ميگيرد و معادل ميلادي ان را بصورت y/m/d بر ميگرداند

مابقي توضيحات توابع ديگه هم هست كه ميتونيد مطالعه كنيد

حالا كافيه در يكي از خانه هاي اكسل براي تبديل تاريخ ميلادي نوشته شده در خانه A1 به شمسي فرمول زير رو بنويسيد


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشين

javad2625
08-02-2008, 19:54
RuzShomar for VBA
ماژول تبديل تاريخ هاي شمسي، قمري و ميلادي به يكديگر

اين هم يه نمونه فايل xls با ماژول براي تبديل تاريخ ها به روش محاسبه ايراني و با دقت زياد. همراه مثال و توضيحات كامل و قابل استفاده در تمام ابزارهاي آفيس از جمله Word, Excel, Acess و...

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

javad2625
19-02-2008, 23:58
برنامه نويسي ويژوال بيسيك در اكسل
درس اول: مفاهيم پايه، برنامه نويسي شيء گرا يعني چه؟

جعبه ابزار ويژوال بيسيك را فعال كنيد.
در 2003: View> Toolbars> Control Toolbox (يك نوار ابزار جديد روي صفحه ظاهر مي شود)
در 2007: Microsoft Office> Excel Options> Customize> Choose Commands From: Developer Tab> Controls> Add> OK (يه آيكون جديد به قسمت Quick Access اضافه ميشه)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

به هر كدوم از كنترل ها (ابزارها) ي جعبه ابزار يه شيء (Object) ميگيم. مثلاً Textbox, CommandButton و... .

در زبان هاي برنامه نويسي جديد، بر خلاف گذشته، هر برنامه اي از تعدادي شيء و مقداري برنامه متني تشكيل شده. در حالي كه قبلاًبرنامه ها فقط متن خالي بودند. به همين دليل، زبان هاي جديد رو شيء گرا (Objective) مي نامند.

تمرين كار با كنترل ها (اشياء) ويژوال بيسيك:
دو TextBox به كاربرگ اضافه كنيد و برنامه اي بنويسيد كه با تغيير متن TB اول، متن دومي، معادل اولي بشه. يعني هر چيزي كه توي اولي مي نويسيم، توي دومي هم نوشته بشه.

روش كار:
دو TextBox به كاربرگ (شيت) اضافه كنيد و روي اولي، دوبار كليك كنيد تا وارد محيط برنامه نويسي بشيم.
(تذكر: بايد در جعبه ابزار، گزينه Design Mode فعال باشه تا بتونيم اين كارها رو بكنيم)

در اونجا، دو خط برنامه مي بينيد كه با Private Sub شروع شده و با End Sub تموم ميشه. به قسمت هايي از برنامه كه با اون دو عبارت شروع و ختم ميشن، يك روال (Sub) ميگيم. داخل اون روال (بين دو خط برنامه موجود) كد زير رو بنويسيد:
(وقتي ميگم كد بنويسيد يعني برنامه بنويسيد)



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا، همونجا گزينه Save رو زده، برنامه رو ذخيره كرده و بدون اين كه محيط برنامه نويسي رو ببنديد به محيط كار اكسل برگرديد.
حالا، محيط كار رو از حالت Design Mode خارج كنيد (با كليك روي دكمه Design Mode در جعبه ابزار) و داخل TB اول متن دلخواهي رو بنويسيد. ببينيد چه اتفاقي مي افته؟!

بله! متن TB دوم مطابق TB اول تغيير مي كنه.
تا اينجاي كار رو داشته باشيد و با چيزهايي كه گفتم كمي ور بريد تا آشناتر بشيد و اگه سوالي داشتيد بگيد تا بقيه مطالب رو اگه خواستيد بعداً ادامه بديم.

تذكر: اگه Macro Security رو روي High تنظيم كرده باشيد يا ماكروها رو Disable كرده باشيد، بعداً كه فايل رو دوباره باز مي كنيد، برنامه ها اجرا نخواهند شد.
در 2003: Tools> Options> Security> Macro Secuity: Settings> Low> OK> OK
در 2007: Microsoft Office> Excel Options> Trust Center> Trust Center Settings> Macro Security> Enable All Macros> OK> OK

javad2625
10-04-2008, 14:04
برنامه نويسي ويژوال بيسيك در اكسل
درس دوم: كار با مولفه ها (Properties)

سه Textbox و يك CommandButton به كاربرگ اضافه كنيد. (در حالت Design Mode)
(اگه خواستيد، رنگ كل جدول رو كمي تيره كنيد، تا TB ها رو بهتر ببينيد)
روي يكي از TB ها راست كليك و گزينه Properties رو انتخاب كنيد تا ستون تنظيمات ظاهر شود.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به هر كدام از خونه هاي ستون تنظيمات، يك مولفه (Property) ميگيم.

مولفه Name نام اون شيء رو به ما ميگه. (مثلاً TextBox1) كه البته مي تونيم اين نام رو به دلخواه تغيير بديم.
مولفه Backcolor رنگ زمينه TB (يا CB) رو تنظيم مي كنه.
مولفه ForeColor رنگ متن TB (يا CB) رو تنظيم مي كنه.
مولفه Text متن پيشفرض TB رو تعيين مي كنه. (براي تغيير متن CB ها بايد از مولفه Caption استفاده كنيم)
مولفه LinkedCell اون TB رو به يكي از خانه هاي جدول لينك مي كنه به طوري كه هر چيزي داخل TB بنويسيم داخل اون خونه هم نوشته ميشه.
و....

تمرين:
رنگ زمينه و متن TB ها و CB موجود رو به دلخواه تنظيم كرده Textbox1 تا TextBox3 رو به خانه هاي G1 تا G3 لينك كنيد و برنامه اي بسازيد كه با كليك روي CommandButton1 مقدار عددي TextBox3 در خانه G4 نوشته بشه.

تذكر:
وقتي ميگيم مقدار عددي، يعني اگه داخل اون TB عدد باشه، مقدار عددي رو بنويسه، اما اگه متن باشه، مقدار 0 رو بنويسه.

روش كار:
در حالت Design Mode روي تك تك TB ها كليك كرده، جلوي مولفه LinkedCell آدرس خانه هاي دلخواه از جدول مثلاً G1 براي TB1 و G2 براي TB2 و... رو مي نويسيم.

روي CommandButton1 دوبار كليك مي كنيم تا وارد محيط كدنويسي (برنامه نويسي) بشيم.
در روال (Sub) موجود، كد زير رو مي نويسيم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همونطور كه مي بينيد براي فهميدن مقدار عددي TB3 از دستور Val استفاده كرديم.
حالا همونجا دكمه Save رو زده، برنامه رو ذخيره مي كنيم و بدون بستن محيط كدنويسي، به محيط اكسل بر مي گرديم (اگر هم ببنديم مهم نيست).

گزينه Design Mode رو غير فعال كرده و ستون Properties رو مي بنديم. حالا داخل TB هاي 1 تا 3 متن دلخواهي رو بنويسيد. چه اتفاقي مي افته؟
دكمه CommandButton1 رو بزنيد. چه اتفاقي مي افته؟
اگه داخل Tb3 عدد بنويسيم و CB1 رو بزنيم چي ميشه؟

بله! مقدار عددي TB3 در خانه G4 نوشته ميشه.

حالا يك سوال علمي:
كسي مي تونه برنامه اي بنويسه كه با كليك روي CommandButton1 مقدار عددي TextBox3 در 2 ضرب شده و داخل خانه G5 نوشته بشه؟
هر كي تونست، كد رو بنويسه اينجا بگذاره.
مخصوصاً شما جناب Mefmef. جواب رو ميتونيد بگيد؟

wordist
25-11-2008, 13:15
در اينترنت ميتوان كدهاي مختلفي را در قالب ماژول پيدا كرد كه به زبان VBA نوشته شده و حاوي توابع به دردبخوري براي اكسل هست

با اضافه كردن اين توابع به اكسل ميتوان كارهاي زيادي انجام داد

از جمله اين ماژولها ميتوان به ماژولي كه من در پست شماره 9 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])همين تاپيك گذاشتم و مربوط به تبديل تاريخ شمسي و ميلادي به يكديگر هست اشاره كرد

حال در اين مقاله قصد دارم اشاره كنم كه چگونه ميشه اين توابع رو جوري تنظيم كرد كه با هر بار باز شدن اكسل اتوماتيك وار اجرا بشه و نيازي نباشه هر دفعه كه اكسل رو باز ميكني اونا رو بصورت دستي وارد كني

فرض كنيد شما تابعي رو پيدا كرديد كه بصورت يك فايل متني هست (فايل ضميمه پست شماره 9 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]))

حال اونو به همون روشي كه در پست شماره 9 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) گفته شده ميتونيد در قسمت ويژوال بيسيك اكسل Import كنيد

پس از اين كار كافيه فايل اكسل خود را با نام دلخواه مثلا Function1 و با پسوند XLA در اكسل 2003 و با همين پسوند يا پسوند XLAS كه مختص 2007 هست و در مكاني كه خودش پيشنهاد ميده (يا مكان دلخواه) ذخيره كنيد

براي اينكه فايل شما با پسوند XLA ذخيره سازي بشه از باكس save as type گزينه Microsoft Office Excel Add-in رو انتخاب كنيد

تا اينجاي كاري تفاوت چنداني بين ورژن 2003 و 2007 وجود نداره ولي از اين پس براي فراخواني اتوماتيك اون يه كم مسير ها در اين دو ورژن متفاوته

2003 :
به منوي Tools رفته و گزينه Add-ins رو بزنيد و از كادر باز شده درصورتيكه فايلتون در ليست وجود داره تيك كنار اونو بذاريد و درصورتيكه فايلتون وجود نداره بااستفاده از Browse اونو پيدا كنيد و كادر را OK كنيد

2007 :
به كادر Excel Option بريد و در سربرگ Add-ins و از باكس Manage گزينه Excel Add-ins رو انتخاب كرده و دكمه Go رو بزنيد. حال از كادر باز شده درصورتيكه فايلتون در ليست وجود داره تيك كنار اونو بذاريد و درصورتيكه فايلتون وجود نداره بااستفاده از Browse اونو پيدا كنيد و كادر را OK كنيد

با انجام اين اعمال فوق از اين پس هر بار اكسل باز ميشود بصورت اتوماتيك تمامي كدهايي كه در فايل اشاره شده وجود دارد در دسترس خواهند بود

ذكر اين نكته هم ضروري است كه توابعي كه به اين صورت به اكسل اضافه ميشوند با تايپ كردن آن در نوار فرمول به آن دسترسي نداريد و بايد با زدن Fx و انتخاب گزينه ALL يا User Defined مطابق شكل به آنها دسترسي پيدا كنيد

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


موفق باشيد

abtintaravideh
19-09-2009, 16:44
با تعداد Bit بیشتر

Excel 2010 به صورت ذاتی یک نسخه 64 بیتی است و این درحالی است که نسخه های قدیمی اکسل با محدودیت های 32 بیتی مواجه بودند.
معنی این 64 بیتی بودن Excel 2010 این است که می توان فایلهای بسیار عظیمی داشت. در تست های انجام شده توسط خود مایکروسافت اکسل 64 بیتی نزدیک به 1.2 تا 1.5 برابر سریعتر از اکسل 32 بیتی بوده است ( البته نمی توان بعنوان یک قانون کلی گفت که نسخه های 64 بیتی سریعتر از 32 بیتی هستند. )
در ضمن فایلهای Excel 2010 که 64 بیتی هستند هیچ تفاوتی با نسخه 32 بیتی ندارند و کاملا بایکدیگر سازگار می باشند تفاوت عمده در بزرگی Workbook هایی است که با نسخه 64 بیتی می توانیم داشته باشیم و اگر این فایل توسط اکسل 32 بیتی باز شود ممکن است پیغام "Out Of Memory" را ببینید.
بهینه سازی الگوریتم محاسبات در Excel 2010

در اکسل 2007 استفاده از محاسبات Multi-Threade ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) باعث افزایش سرعت محاسبات فایلها شده بود اما تیم اکسل باز قصد بهبود این سرعت را در اکسل 2010 دارد. بهینه سازی عملیاتهای عمومی کاربران با داده ها مثل وارد کردن داده ها و پر کردن ، مرتب سازی ، فیلترینگ ، و کپی / چسباندن یکی از اساسی ترین کارهایی بوده است که بر روی اکسل 2010 انجام شده .

افزایش سرعت محاسبات برنامه های VBA
همانطور که در شکل زیر معلوم است در بیش از 70% موارد ، اکسل 2010 توانسته است سریعتر از نسخه قبلی کدهای VBA را اجرا نماید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
استفاده از امکانات چند هسته ای (Multi Core)
در حال حاضر CPUهای چند هسته بسیار متدوال شده است و استفاده از امکانات این CPUها در دستور کار Excel 2010 قرار داشته است ، با مطالعات انجام شده در حیطه های زیر از این تکنولوژی بهره گرفته شده است:




File.Open

File.Save

PivotTable Refresh (for external data sources, except OLAP and SharePoint Lists)

Cell Table Sort

PivotTable Sort


Column Auto Sizing

شکل زیر نشان دهند این موضوع است که در هنگام باز شدن یک فایل دو عملیات به صورت همزمان انجام می گیرند، یک عملیات توسط یک CPU مختص به خواندن فایل از روی Hard است و عملیات دیگر مختص به قراردادن اطلاعات در حافظه می باشد که توسط یک CPU دیگر انجام می شود.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در شکل زیر زمان باز شدن دو فایل در Excel 2010 و Excel 2007 مقایسه شده است.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این مقاله ادامه خواهد داشت.

farshid_mi
21-09-2009, 20:08
در اکسل 2010 می توان دریک سلول نموداری رسم کرد که به صورت خلاصه وضعیت چند سلول را نشان دهد مثلا:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در شکل بالا هر کدام از کارمندها سعی دارند که مشتری بیشتری را جذب کنند مثلا سام تا بحال 223 مشتری را جذب کرده است که سابقه جذب مشتریهای او تا بحال در خانه جلوی آن نشان داده شده است.

در شکل زیر نمونه دیگری از sparkline excel 2010 را مشاهده می نمایید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در اکسل 2010 در ریبون آن Sparkline Tools اضافه می شود که می توان روی این نمودارها تنظیمات دقیق را انجام داد.
مثلا در شکل قبل نقاط مینیمم نشان داده شده است.


منبع : سایت آموزشی فرساران به آدرس
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

farshid_mi
21-09-2009, 20:16
در اکسل 2003 راه مستقیمی برای انجام عملیات‌های ریاضی مانند جمع زدن، میانگین و ... بر روی خانه‌هایی که دارای یک رنگ هستند وجود ندارد و با تکنیک Find و استفاده از Copy/Paste به سختی می‌توان اینکار را انجام داد.
برای این منظور در اکسل ما باید کد رنگ خانه را پیدا کنیم و سپس بر اساس آن با استفاده از روشهایی مانند Filter و یا توابعی مانند SumIf بر اساس این کد (که در واقع یک عدد است) عملیات ریاضی را انجام دهیم.

برای اینکار در اکسل بایستی تابع جدید ایجاد کنیم که توسط آن کد رنگ هر خانه محاسبه شود بنابراین دست به کار می‌شویم و با زبان VBA اکسل یک تابع جدید تعریف می‌کنیم.
قدم اول: ایجاد تابع در محیط ویژوال بیسیک
یک فایل خالی اکسل را ایجاد کنید و با زدن کلید Alt+F11 وارد محیط ویژوال بیسیک اکسل شوید.
به مسیر Insert à Module بروید و یک ماژول ایجاد کنید، ماژول جایی است که می‌توانید در آن دستورات ویژوال بیسیک را وارد نمایید.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


برای ایجاد یک تابع Insert à Procedure را انتخاب نمایید و در پنجره‌ای که باز می‌شود برای تابع جدید یک نام تایپ می‌کنیم مثلا در اینجا نام تابع را ColorCode می‌گذاریم در ضمن گزینه Function را انتخاب می‌کنیم.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

مطابق شکل زیر کد این تابع را کامل نمایید.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

قدم دوم: استفاده از این تابع برای جمع زدن خانه‌های نارنجی
حال تابع شما آماده است و در اکسل می‌خواهیم از آن استفاده کنیم.
از محیط ویژوال بیسیک خارج شوید (لازم نیست Save کنید) و به اکسل بگردید.
برای استفاده از این تابع محدوده‌ای مانند شکل زیر را در نظر بگیرید که قرار است خانه‌های نارنجی رنگ را جمع بزنید و مطابق شکل از تابع ColorCode استفاده می‌کنیم.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و در نهایت بایستی چیزی مانند شکل زیر بدست آید که در کنار هر سلول کد رنگ آن سلول نمایش داده می‌شود.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

و اینک توسط تابع SumIf خانه‌های نارنجی رنگ را جمع می‌زنیم عدد 46 که در تابع بکار برده شده است کد رنگ "نارنجی" می‌باشد.


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


توجه: اگر بعد از اینکه فرمول را نوشته‌اید رنگ خانه را تغییر دهید متوجه می‌شوید که تابع کد رنگ قبلی خانه را می‌دهد نه رنگ جدید و این موضوع به این دلیل است که اکسل محاسباتی را هنگام عوض کردن رنگ انجام نمی‌دهد و وقتی محاسبات انجام می‌شود که شما در محتوای سلول تغییری را اعمال کنید (بعنوان مثال یک عدد تایپ شود) البته می‌توان از کلید F9 نیز برای اینکار استفاده کرد و بلافاصله تابع کد رنگ جدید را بر می‌گرداند.


منبع : پرتال فرساران

wordist
21-11-2009, 14:49
سلام

براي ايجاد يك ليست در خانه اي از اكسل كه قرار است مقادير ثابتي را در اختيار كاربر قرار دهد (مثلا ماه هاي سال و ... ) ميتوانيد به مراحل زير عمل كنيد

1- ايتدا در خانه‌هايي مقادير مورد نظر را تعريف كنيد (مثلا در A1 تا A12 ماه هاي سال)

2- حال در خانه اي كه قرار است آن را بصورت ليست به شما نمايش بدهد (مثلا B2) كليك كرده و از منوي Data گزينه Validation را انتخاب كنيد

3- از باكس Allow گزينه List را انتخاب كنيد

4- در باكس Source خانه‌هاي مورد نظر (A1 تا A12 در مثال ما) را درگ كنيد تا آدرس مربوطه درج شود

5- كادر موردنظر را OK كنيد.

موفق باشيد

تذكر مهم: نكته مهم در اينجا اين است كه سورس اين ليست نميتواند در شيت ديگري باشد

Mohammad King
02-12-2009, 16:12
نام كتاب آموزشي : آموزش Excel 2007 به زبان فارسي

نوع فرمت : PDF

تعداد صفحات : 409

حجم : 5 MB

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

farshid_mi
08-12-2009, 10:19
فرمول نویسی در اکسل یکی از ستونهای بسیار مهم این نرم افزار است و حتی می توان توسط فرمول نویسی در محیط اکسل نرم افزاری جدیدی تولید کرد. اکسل بیش از 350 تابع دارد که ترکیب این توابع با یکدیگر می تواند فرمولهای پیچیده و متنوعی را تولید نماید.
در محیط اکسل شما می توانید با ماتریس ها نیز کار کنید، ماتریسی بسازید و روی آن محاسباتی را انجام دهید به فرمولهایی که روی این ماتریس ها کار می کنند فرمولهای برداری یا Array fomula می گویند.
درک این فرمولها و کار با آنها در اکسل واقعا پیچیده است و به همین دلیل اکثر کاربران حتی نامی از آن را نشنیده اند . برای آشنایی دوستان فارسی زبان حدود 2 سال پیش نگارش کتابی تحت عنوان "هزار تو های اکسل" و با موضوع " فرمولهای برداری اکسل" را شروع کردم که به تازگی کار آن تمام شده است . (البته اگر دل و توفیقی باشد کامل تر نیز خواهد شد).
شما می‌توانید از لینک زیر دریافت کنید و همچنین فایل اکسل 2007 مثالهای کتاب نیز برای دانلود قرار داده شده است.




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
منبع: پرتال فرساران

ويرايش شد
By wordist

***Spring***
19-09-2010, 17:43
سلام ...

توابع آماری در اکسل Excel ( فارسی ) ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

توابع ریاضی و مثلثات در اکسل Excel ( فارسی ) ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

آموزش قدم به قدم Office 2010 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

آموزش فارسی و تصویری اکسل Excel 2007 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

با اکسل دوست شویم ( بهرام صمدیان ) - Excel VER 4 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

جداول و نمودارهای محوری در Excel ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

توابع جستجو و مرجع در اکسل Excel ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

wordist
26-09-2010, 13:35
سلام

در اكسل گاهي نياز مي شود كه جمع مواردي از يك ستون رو محاسبه كنيم كه معادل انها در ستونهاي قبلي يا بعدي يك آيتم خاص يا يك شرط خاص باشد.

مثال : جمع قيمتهاي آيتم " سيب " را محاسبه كنيد

B ----- A
1 سيب --- 100
2 پرتقال -- 500
3 سيب -- 1000
4 انگور --- 150
5 سيب -- 1100
...

اگر ستون اول را A و ستون دوم را B در نظر بگيريم طبق فرمول داريم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمثال : جمع قيمتهاي آيتم " سيب " را محاسبه كنيد كه بيش از 3 كيلو خريد شده است

C ------------- B ----- A
1 سيب --- 100 ---------- 2.5
2 پرتقال -- 500 ---------- 3
3 سيب -- 1000 -------- 4.7
4 انگور --- 150 --------- 5
5 سيب -- 1100 -------- 6
...

در اينجا چون دو شرط وجود دارد بايد از تابع SUMIF استفاده شود بصورت ذيل:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نكته مهم:
فرمول SUMIFS در نسخه هاي قبل از 2007 آفيس وجود ندارد


موفق باشيد

mahdi7610
22-11-2010, 22:35
سلام دوستان

ايجاد ليست کشويي در Excel ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

موفق باشید :)

R.Karaj
13-09-2011, 15:16
دوستان عزیز سلام

دستوری countif و countifs ساختاری مشابه sumif و sumifs دارن فقط به جای جمع بستن مقادیر پیدا شده تعداد موارد پیدا شده رو میگن

C ------------- B ----- A
1 سيب --- 100 ---------- 2.5
2 پرتقال -- 500 ---------- 3
3 سيب -- 1000 -------- 4.7
4 انگور --- 150 --------- 5
5 سيب -- 1100 -------- 6

=COUNTIFS(A2:A5;"سیب";B2:B5;100)
=COUNTIF(A2:A5;"سیب")

امیدوارم مفید باشه

صباغ
13-08-2012, 10:17
درموردvLookUP بسیارممنون وسپاسگزارم ، مثال های شما بسیار گویا و راه گشا ست استدعا دارم درمورد هر گزینه یا مثال های جالب وملموس سوالات را تشریح فرمائید.:11:

smf2005
25-08-2012, 15:03
خیلی ممنون . خوب بود. اگه لطف میکردید باقی توابع رو هم آموزش میدادید با یکم توضیح بیشتر ,دیگه عالی میشد

عباس ج
28-12-2013, 09:12
فرض كنيد كه يه جدول داشته باشيم كه مي خواهيم در يه خونه از اون با زدن يك كد (كد كالا) قيمت متناظر اون از ستون يا ستونهاي بعديش بياد


تابع VLOOKUP : اين تابع به جستجو در ستون اول محدوده ديتاي شما پرداخته و پس از پيدا كردن مقدار موردنظر ، مقدار متناظر ان را از ستوني كه شما مشخص مي‌كنيد برمي‌گرداند



نكته مهم :

اگر مقدار RANGE_LOOKUP برابر FALSE باشد دقيقا دنبال عدد مورد نظر ( در اين مثال دنبال كد كالا) مي گردد و اگر پيدا نكرد متناظري برنمي‌گرداند و خطا مي‌دهد ولي اگر TRUE باشد دنبال بزرگترين عددي كه از آن كوچكتر است مي‌گردد و متناظر ان را برمي گرداند.


البته توجه شود که برای استفاده بهتر از این تابع در قسمت page layout صفحه را left to right قرار داده و اگر از گزینه true در فرمول استفاده می شود باید ستون اول داده ها به صورت صعودی مرتب شده باشه و فقط عدد داخل سلول ها وارد شود

عباس ج
28-12-2013, 09:15
دوستان مسئله مورد نطرتان را بگوئید تا تابع مورد استفاده برای آن رااگر بلد بودم بگویم

غرقی
06-01-2014, 10:09
سلام
قل از هر چیز از مطالب مفیدتون ممنونم
ببخشید تو قسمت ماژول جهت تبديل تاريخ شمسي و ميلادي به يكديگر فال ضمیمیه وجود نداشت میوند راهنماییم کنید

roshan110
08-06-2014, 17:09
سلام
لطفا بفرمایید چگونه میتوانم از اینترنت اطلاعاتی را وارد اکسل کنم؟
ممنون میشم