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

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

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

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

 

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

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

 مراكز پخش

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

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

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

 

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

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

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


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

 

 

 

 

آخرين مطالب

1.              مفهوم متغیر

متغیر شبیه یک جعبه پستی است. محتوای هر متغیر هر لحظه می تواند تغییر کند. همانگونه که محتوای یک جعبه پستی هر لحظه می تواند تغییر نماید. در VBA متغیرها بخش هایی از حافظه کامپیوتر هستند که برای نگهداری داده ها مورد استفاده قرار می گیرند. درست شبیه صندوق پستی هر متغیر دارای یک نام است. برای هر متغیر دو چیز در نظر گرفته می شود:

1-    نام متغیر

2-    نوع داده ای(Data Type)

1.1        نامگذاری متغیر

برای نامگذاری یک متغیر قواعد زیر می بایست رعایت گردند:

  • نام هر متغیر کمتر از 255 کاراکتر می باشد

  • فاصله خالی(space) مجاز نمی باشد

  • نقطه  مجاز نمی باشد

  • نام متغیر با عدد شروع نمی شود

  • برخی کاراکترها مانند ! ،  @ ، # ، $ ، % ، ^ ، & ، * ، ) ، ( ، +   نمی توانند مورد استفاده قرار گیرند

 

 

مثال برای نامهای معتبر و نامعتبر

نام معتبربرای یک متغیر

نام نامعتبر برای یک متغیر

My_Car

My.Car 

ThisYear

1NewBoy

Long_Name_Can_beUSE

He&HisFather                  *& is not acceptable

Group88

Student ID                       * Spacing not allowed

 

1.2        نوع داده ای(Data Type)

نوع داده ای در دو شکل کلی دسته بندی می شوند

الف- نوع داده ای عددی( Numeric Data Type) : این شکل از داده ها قابلیت محاسباتی دارند و می توانند توسط عملگرهایی نظیر چهار عمل اصلی مورد استفاده قرار گیرند. در VBA این گروه شامل 7 نوع داده مطابق جدول زیر است:


 

Numeric Data Types

Data Type

Storage 

Range of Values

Byte

1 byte

0 to 255

Integer

2 bytes

-32,768 to 32,767

Long 

4 bytes

-2,147,483,648 to 2,147,483,648

Single

4 bytes

-3.402823E+38 to -1.401298E-45 for negative values
1.401298E-45 to 3.402823E+38 for positive values.

Double

8 bytes

-1.79769313486232e+308 to -4.94065645841247E-324 for negative values
4.94065645841247E-324 to 1.79769313486232e+308 for positive values.

Currency

8 bytes

-922,337,203,685,477.5808 to 922,337,203,685,477.5807

Decimal

12 bytes

+/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use
+/- 7.9228162514264337593543950335 (28 decimal places).

 

ب- نوع داده ای غیر عددی ( Noun-Numeric Data Type)

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

 

Noun-Numeric Data Types

Data Type

Storage

Range

String(fixed length)

Length of string

1 to 65,400 characters

String(variable length)

Length + 10 bytes

0 to 2 billion characters

Date

8 bytes

January 1, 100 to December 31, 9999

Boolean

2 bytes

True or False

Object

4 bytes

Any embedded object

Variant(numeric)

16 bytes

Any value as large as Double

Variant(text)

Length+22 bytes

Same as variable-length string

در VBA برای معرفی متغیر نیاز است تا نام و نوع داده ای به آن تخصیص یابد.

1.3        معرفی متغیرها

برای معرفی یک متغیر لازم است نام متغیر و نوع داده ای آن را  مشخص کنیم. (البته می توان از نوع داده ای صرفنظر کرد که در اینصورت نوع داده ای  Variantفرض میشود) برای این منظور از دستور Dim به شکل زیر استفاده می شود:

Dim variableName as DataType

 

مثال:

Dim password As String Dim yourName As String

Dim firstnum As Integer

Dim secondnum As Integer

Dim total As Integer

Dim BirthDay As Date

می توان معرفی متغیرها را به شکل زیر ترکیب نمود

Dim password As String, yourName As String, firstnum As Integer.

متغیر های تاریخ در داخل #  # و متغیرهای حروفی در داخل "   " گذارده می شود.

در مثال بعدی سه نوع متغیر رشته ای ، تاریخی و ارز آورده شده است.

Private Sub CommandButton1_Click( )

Dim YourName As String

Dim BirthDay As Date

Dim Income As Currency

YourName = "Sadeghi"

BirthDay = #1 April 1980#

Income = 10000000

Range("A1") = YourName

Range("A2") = BirthDay

Range("A3") = Income

End Sub

مثال :فرض کنیم سه شیت داریم که در ستون اول هر سه شیت اطلاعات داریم. می خواهیم اطلاعات ستونهای اول مربوط به هر سه شیت را در ستون اول شیت یک قرار دهد.

 

برای این منظور ابتدا ماکرویی را ایجاد می کنیم و ایده های اصلی را به بهره گیری از کدهای این ماکرو می گیریم و برای نوشتن برنامه استفاده می نماییم.

توضیح و یا دآوری:

فرومول در اکسل تعداد ردیفهای پرشده در درستون a را می دهد.

پس از نوشتن ماکرو وارد محیطVBA  می شویم و می بینیم که اطلاعات زیر نوشته شده است:

 

Sub dll()

 

www.alifatehi.persianblog.ir

 

 

    Range("A1:A32").Select

    Selection.ClearContents

    Sheets("Sheet2").Select

    Range("A1:A30").Select

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A1").Select

    ActiveSheet.Paste

    Sheets("Sheet3").Select

    Range("A1:A70").Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A31").Select

    ActiveSheet.Paste

End Sub

مساله موجود این است که در انتهای اطلاعات وارد شده در شیت اول(پس از دلیت کردن) اطلاعات شیت سوم را وارد نماید.برای این منظور باید تغییراتی در ماکرو نوشته شده در اکسل ایجاد کرد و با استفاده از اطلاعات ستون c  و تعریف دو متغیر  x1 ,x2 و اضافه نمودن در سطرهای برنامه نوشته شده به این هدف رسید. بخش اصلی برای حل این مساله استفاده از روش آدرس دهی مختصاتی برای معرفی ناحیه ها است . زیرا نواحی که انتخاب می شوند تغییر میکنند و می بایست از دستور ‍ٍ‍ٍ cells(i,j)  استفاده کنیم 

 

Sub rep()

 

    Range("A:a").Select

    Selection.ClearContents

    Sheets("Sheet2").Select

      Dim x1, x2, x3

    (x1 = Cells(1, 3

    Range("A1", Cells(x1, 1)).Select

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A1").Select

    ActiveSheet.Paste

    Sheets("Sheet3").Select

   ( x2 = Cells(1, 3

    Range("A1", Cells(x2, 1)).Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("Sheet1").Select

    x3 = x1 + 1

    Cells(x3, 1).Select

    ActiveSheet.Paste

    Range("B1").Select

 

End Sub


 

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

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