دانلود کتاب plain & simple Excel 2010
دانلود کتاب plain & simple Excel 2010
نوشتن برنامه های وی بی ای نیز یکی از زیباترین ، شیوه های کار با اکسل است.حال برای آشنایی و دوستی با این بخش از اکسل یک مثال را برای کاربران حرفه ای تر اکسل مطرح می کنیم.
مثال : فرض کنید جدولی داریم که افرادی معدود طی چند بار مراجعه کار انجام داده اند و پول دریافت کرده اند.حال می خواهیم با استفاده از برنامه نویسی VBA اسامی آنها را به صورت غیر تکراری از جدول خارج کرده نمایش دهد.

برای نوشتن این کد باید کلید های Alt+F11 را فشرد تا به محیط VBA وارد شویم.از منوی Insert گزینه ی Module را انتخاب می کنیم و سپس کد مورد نظر را در آن می نویسیم.
Sub list()
Dim i As Integer
Dim r As Integer
'shomareh radif akharin celol database
r = Range("a1").CurrentRegion.Rows.Count
'avalis celol database
Cells(1, 13) = Cells(1, 2)
'asami bedone tekrar
For i = 1 To r
If WorksheetFunction.CountIf(Range("m:m"), Cells(i, 2)) < 1 Then
Cells(i, 13) = Cells(i, 2)
End If
Next
End Sub
Syntax
GESTEP(number,step)
Number is the value to test against step.
Step is the threshold value. If you omit a value for step, GESTEP uses zero.
=gestep(5,4) ==> 1
=gestep(5,5) ==> 1
=gestep(4,5) ==> 0
ابتدا با فشردن کلید های alt , f11 به محیط برنامه نویسی می رویم و در انجا در محیط وی بی ای به سراغ پنجره projects می رویم و شی مورد نظر " sheet1" را انتخاب می کنیم تا خصویاتش در پنجره زیر نمایش داده شود. حال در قسمت name نام کاربرگ را تغییر می دهیم.

برای تغییر خصوصیت visible یا نوع نمایش کاربرگ نیز می توان اقدام کرد. سومین گزینه از خصوصیت visible کاربرگ عبارت xlsheetveryhidden است که با انتخاب آن کاربگ به کلی پنهان شده و حتی از طریق unhide نیز نمایش داده نمی شود.لازم به ذکر است که حتی این گزینه فعال نمی شود که کاربر به آن شک کند و می توان با خیال راحت کاربرگ های سری را از دسترس افراد پنهان نمود.
=rank( روش مرتب سازی, محدوده, داده)
این تابع داده را در محدوده یافته ، رتبه ی آن را مقابلش می نویسد. البته اگر دو داده ی مشابه داشته باشیم به هر دو یک رتبه تعلق می گیرد و داده ی بعدی یک رتبه به عقب می رود به تصاویر دقت کنید:



نکته : اگر نشانی محدوده مطلق نگردد ، محدوده همراه با داده ، جا به جا می شود و رتبه بندی به درستی انجام نمی گردد.برای آشنایی بیشتر با روش های آدرس دهی در اکسل به لینک زیر مراجه فرمایید :
http://excel.blogfa.com/8503.aspx
با استفاده از advance filter میتوانیم اینکار را انجام دهیم


سلول های زرد رنگ باید در ستون سبز رنگ ضرب شود
همانطور که در تصاویر مشاهده می نمایید شرطهایی که در کنار یکدیگر قرار می گیرند( علی و tejarat) حکم and و انهایی که زیر هم قرار می گیرند (علی و رضا )حکم or دارند. این شرط به صورت زیر خوانده می شود :
"رکوردهایی از علی که از بانک تجارت دریافتی داشته است و یا رکوردهایی از رضا که از بانک ملی دریافتی داشته است."

توجه داشته باشید که محدوده شرط مثل فیلتر های ساده ابزاری نیست بلکه بصورت داده از کاربرگ می باشد و کاربر راحت می تواند آنها را تغییر دهد.

ابزارهایی که برروی فرم ها قرار می گیرند به کامپوننت مشهورند و کاربران می توانند با استفاده از این ابزار ورود وو خروج داده را سهل تر کنند. از جمله این ابزار LISTBOX است که به کاربرانش اجازه می دهد تا یک لیست را در درونش مشاهده نمایند .در اینجا یک مثال از استفاده این ابزار را به همراه ADVANCE FILTER به دوستان گرامی تقدیم می کنم تا شاید بخشی از مشکلاتشان را مرتفع نماید.
در این مثال یک لیست دریافت و کارکرد موجود است که داده ها به ترتیب زیر هم نوشته می شوند با فشردن کلید وسط صفحه شما می توانید اسامی را به صورت غیر تکراری مشاهده کرده انتخاب نمایید و سپس جمع دریافتی را مشاهده نمایید.
اگر رکوردی به لیست اضافه شود با زهم عمل کرده نام را به صورت غیر تکراری نمایش می دهد.
مثال های بیشتر را در اینده دنبال خواهیم کرد.
موفق باشید