آموزش ماکرونویسی - برنامه نویسی در اکسل به روش من

از ماکرونویسی نهراسید! بسیار ساده است!

صفحه اصلي | آرشيو مطالب | تماس با من                    ali_fatehi@yahoo.com

آموزش  مشاورهداستان وبلاگ من

 

كتاب ماكرونويسي و برنامه نويسي كار بردي به زبان VBA در Excel

به نگارش اينجانب منتشر شد
مولف: علي فاتحي
ناشر: انتشارات سازمان بورس

 مراكز پخش

«نمايشگاه و فروشگاه انتشارات بورس»
شماره تماس:  88648192
(تهران - ميدان ونك - خ ملاصدرا- شماره 25)
اطلاعات كتاب و سفارش خريد آنلاين از انتشارات بورس

«انتشارات صانعي»

شماره تماس:  5385  6640
(
تهران- خ انقلاب- روبروي  دانشگاه تهران- پلاك 1290)
www.saneibook.com

 

.....در زماني كوتاه و به راحتي مي توانيد در اكسل برنامه و ماكرو بنويسيد؛ حتي اگر شما برنامه نويس نباشيد ماكرونويسي و برنامه نويسي ابزاري مناسب براي كاربراني است كه مي خواهند در Excel بهتر و پوياتر عمل كنند. زبان برنامه نويسي مورد استفاده در Excel بسيار شبيه زبانهاي محاوره اي است و VBA

 (Visual Basic for Applictions )
نام دارد.
......

20 صفحه اول كتاب را از اينجا برداريد.


اين كتاب براي كاربراني نوشته شده كه با برنامه‌نويسي و ماكرونويسي آشنايي نداشته يا آشنايي كمي دارند و مي‌خواهند در نرم‌افزار اكسل كارهاي بهتر و پوياتري انجام دهند و با زباني ساده و به دور از پيچيدگي مفاهيم اوليه و كاربردي را گام به گام ارايه نموده است. مثال‌ها متنوع و كاربردي‌اند. از برنامه‌هاي ساده  و "تابع تبديل عدد به حروف" گرفته تا "پياده‌سازي مفاهيم مهندسي مالي" در كتاب آموزش داده شده‌اند..

 

 

 

 

آخرين مطالب

 

اگر دربرنامه با توجه به مقادیرمشخصی که یک متغیر دارد تصمیم گیری شود از ساختار SELECT CASE استفاده می کنیم. این دستوربا کاربردی مانند دستور IFمی باشد.

برای استفاده ار این دستور شروط مورد نظر را بر روی یک متغیر اعمال می کنیم. 

 

شکل کلی دستور Select Case

 

Select Case  نام متغیر

 Case           حالت اول

دستورات

 Case حالت دوم

دستورات

.

.

.

 

Case Else

دستورات

 End Select

 


در زیر برنامه ای نوشته شده است که برای مقادیر مختلف موجود در سل A1 یک شیت اکسل عبارات A , B, C, … را در سل مقابل آن می گذارد.

 

 


 

 Sub level( )

 x = Range("a1").Value

 Select Case x

 Case 17 To 20

Range("b1").Value = " A"

 Case 14 To 17

Range("b1").Value = " B"

            Case 12 To 14

Range("b1").Value = " C"

 Case 10 To 12

Range("b1").Value = " D"

            Case 0 To 10

Range("b1").Value = " E"

Case Else

Range("b1").Value = "false"

 End Select 

End Sub

 

ساختار حلقه ای FOREach - NEXT

حلقه ها دستوراتی هستند که می توان جهت انجام دستورات تکراری از آنها استفاده نمود. حلقه FOREach برای کار بر روی عضوهای(members) یک مجموعه(collection) استفاده می شود. مجموعه شامل تعدادی شیء یکسان است. به عنوان مثال Range("A1:A10") یک ‍collection ‌ است زیرا تعدادی عضو به نام سلول است که همگی از یک جنس هستند. worksheet های یک فایل اکسل مجموعه ای به نام Worksheets تشکیل می دهند. چارتهای یک فایل اکسل مجموعه ای به نام Charts تشکیل می دهند.

الگوی زیر الگوی استفاده از یک حلقه FOREach در برنامه نویسی می باشد:

 

 

For Each عضو In مجموعه

            دستورات

NEXT

 

 

 

در برنامه ای که در زیر نوشته شده عملیات مورد نظر بر روی ردیفهای 1 تا 10 ستون A  انجام می شود.برنامه به گونه ای نوشته شده است که اعداد کمتر از 10موجود در ستون اول، را Bold ‌کند

 

 

حال با استفاده و ترکیب دو دستور FOR-NEXTبه سادگی برنامه مورد اشاره به شرح ذیل نوشته می شود:

 

 Sub range_leve()

For Each c In Range("a11:h20")

    If x < 10 Then c.Font.Bold = True

 Next

 

End Sub

استفاده از دستور ROW در برنامه:

 

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

تنها نکته موجود در این برنامه وجود دستور ROW است که از دسته دستوراتی مانند VALUE می باشد که در اینجا ROW به مفهوم ردیف مورد نظر می باشد.و برای نیل به هدف بالا می بایست دو متغیر تعریف نمود.

متغیر اول برای عدد مورد نظر که هدف برنامه آن است و متغیر دوم ردیف عدد مود نظر که برای اینکه در مقابل آن عدد باید عبارت مورد نظر برنامه تایپ گردد، مورد نیاز است.مع الوصف برنامه مورد نظر به شکل زیر نوشته می شود:

 

 

Sub range_level()

 Dim c As Range

 For Each c In Range("a1:a10")

 x = c.Value

i = c.Row

 

Select Case x

 

Case 17 To 20

                   Cells(i, 2) = "A"

 Case 14 To 17

                  Cells(i, 2) = "B"

 Case 12 To 14

                    Cells(i, 2) = "C"

Case 10 To 12

                    Cells(i, 2) = "D"

 Case 0 To 10

                 Cells(i, 2) = "E"

 Case Else

                      Cells(i, 2) = "ERROR"

End Select

 

 Next

 

End Sub

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

آرشيو مطالب
امکانات وب